Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
ВнизКак нарисовать кнопку на форме при помощи API? Найти похожие ветки
← →
acsoft (2003-08-18 08:02) [0]Как нарисовать кнопку на форме при помощи API? Извините, уже задавал этот вопрос, но из-за перестройки форума потерял ответы.
← →
Крот (2003-08-18 08:21) [1]Просто нарисовать? DrawFrameControl
← →
Prov (2003-08-19 09:39) [2]Какой DrawFrameControl ??? Вы что ??? Понятно, что не нарисовать надо, а создать...
Вот:
var Button: hWnd;
Button:= CreateWindow("BUTTON",
"&Button",
WS_CHILD or BS_PUSHLIKE or WS_OVERLAPPED,
4,
94,
236,
24,
Handle,
0,
hInstance,
nil);
ShowWindow(Button, SW_SHOW);
← →
Крот (2003-08-19 09:46) [3]
> Prov © (19.08.03 09:39) [2]
Значит так и надо формулировать - "Создать". Правильно заданный вопрос - половина ответа. Даже больше.
← →
acsoft (2003-08-24 12:12) [4]Замечательно, а как быть с кнопками XP?
(разумеется, я хочу их создавать, работая в XP :)))
← →
kalishenko (2003-10-02 17:12) [5]Хорошо, создать-то создали, а как сотворить обработчик событий для этой самой кнопки (например, сделать Close приложению по нажатию на нее)?
← →
Polevi (2003-10-02 17:54) [6]обрабатывать WM_LBUTTONDOWN очевидно
← →
Polevi (2003-10-02 17:55) [7]это если нарисовали, если создали BM_CLICK
← →
Polevi (2003-10-02 17:55) [8]блин, BN_CLICKED
← →
andre (2003-10-02 17:55) [9]Ловите wm_Command, смотрите параметр LoWord(wParam), а из него извлекете ID кнопки. Ну а дальше как обычно...
WINAPI рулезЗз!
← →
kalishenko (2003-10-02 18:36) [10]А код можно сюда бросить?
← →
andre (2003-10-02 19:03) [11]Можно.
case nMsg of
wm_Command: begin
case LoWord(wParam) of
id_exit: begin
PostQuitMessage (0)
end;
end;
end;
Создаём кнопку:
CreateWindowEx (0, "BUTTON", "&Exit", ws_Child or ws_Visible or ws_Border or bs_PushButton,
176, 220, 75, 25, hwnd, id_exit, hInstance, nil);
← →
kalishenko (2003-10-02 20:03) [12]В строке
case nMsg of WM_COMMAND: begin
выдается ошибка "ordinal type required" (nmsg, как я понимаю, TMessage или Cardinal ?).
← →
Polevi (2003-10-02 20:16) [13]LRESULT CALLBACK WindowProc(
HWND hwnd, // handle of window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
← →
kalishenko (2003-10-02 20:40) [14]А какого типа id_exit? THandle?
← →
kalishenko (2003-10-02 20:54) [15]И какое отношение имеет id_exit к
HMENU hMenu, // handle to menu, or child-window identifier
???
Как я понял - это идентификатор создаваемого объекта. А где id_exit его получает, я никак не пойму.
← →
Игорь Шевченко (2003-10-02 22:59) [16]const id_exit = 100, например
kalishenko (02.10.03 20:54) [15]
Хоть какую-то книжку можно почитать ? Или online-обучение устроим ?
← →
andre (2003-10-03 01:49) [17]Удалено модератором
Примечание: Offtopic
← →
MBo (2003-10-03 06:13) [18]Петцольд в своей книге ответит на ваши вопросы в лучшем виде.
← →
программер.ру (2003-10-03 17:42) [19]Удалено модератором
Примечание: Задай свой вопрос в отдельной ветке
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c