Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
1-89924
snake1977
2003-11-18 10:58
2003.11.27
Debuger


3-89730
Vladimir_
2003-11-09 20:03
2003.11.27
цвет и толщина линий Dbgrid


14-90063
Thor
2003-11-03 17:46
2003.11.27
оф. стандарт


1-89945
Вованчик
2003-11-18 08:31
2003.11.27
MainMenu


8-90014
Darlock
2003-07-22 16:49
2003.11.27
Печать картинки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский