Главная страница
    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
14-90108
R
2003-11-04 06:15
2003.11.27
Миф или реальность!


14-90073
FFFh
2003-11-05 13:42
2003.11.27
Момогите разобраться с мобилой!


1-89896
Kacnep
2003-11-17 15:24
2003.11.27
Настройки в TTreeView зачем и как реализовать?


1-89980
Developerr
2003-11-16 19:58
2003.11.27
Как округлить дробное число с 3-х занков до 2-х после запятой?


6-90043
Woolen
2003-09-27 16:04
2003.11.27
Сервер на базе TIdPOP3Server





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский