Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание меню

12K
04 сентября 2007 года
whmario
33 / / 23.08.2007
Как мне создать главное меню окна без VCL?
А как контекстное?
16K
04 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Можно, например, загрузить из res-файла:
 
Код:
LoadMenu(hInstance, 'MENU');
12K
04 сентября 2007 года
whmario
33 / / 23.08.2007
Извини, но я ничего не понял. Можно специально для таких как я поподробнее.
Или проще. Вот код:
Код:
program demo;
uses
 windows, messages;
var
 wnd: hwnd;
 msg: tmsg;
 wndclass: twndclass;
function windowproc(wnd: hwnd; msg: word; wparam: wparam; lparam: lparam):
 longint; stdcall
begin
 result:=0;
 case msg of
  wm_destroy: begin
   postquitmessage(0);
   exit;
  end;
 end;
 result:=defwindowproc(wnd,msg,wparam,lparam);
end;
begin
 wndclass.style:=cs_hredraw or cs_vredraw;
 wndclass.lpfnWndProc:=@windowproc;
 wndclass.hCursor:=loadcursor(0,idc_arrow);
 wndclass.hbrBackground:=color_btnface;
 wndclass.lpszClassName:='demo';
 registerclass(wndclass);
 wnd:=createwindow('demo','demo',ws_overlappedwindow,0,0,640,480,0,0,0,nil);
 showwindow(wnd,sw_show);
 updatewindow(wnd);
 while getmessage(msg,0,0,0) do begin
  translatemessage(msg);
  dispatchmessage(msg);
 end;
end.

Просто пустое окно. Что мне дописать. И как этот res файл с меню создать.
16K
04 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Если ты создаешь окна в runtime а не грузишь из ресурсов, то и меню тебе нужно будет создавать также. Посмотри справку по WinAPI-функциям CreateMenu, InsertMenuItem/InsertMenu/AppendMenu, и т.д и т.п.
Посмотри вот здесь и кое-что можно посмотреть здесь.
334
04 сентября 2007 года
HexEdit
809 / / 27.07.2006
Цитата: Zbyszek
Если ты создаешь окна в runtime а не грузишь из ресурсов, то и меню тебе нужно будет создавать также. Посмотри справку по WinAPI-функциям CreateMenu, InsertMenuItem/InsertMenu/AppendMenu, и т.д и т.п.
Посмотри вот здесь и кое-что можно посмотреть здесь.


Да-а-а? и что же мешает загрузить меню из ресурсов при создании всего остального в runtime'е?

16K
05 сентября 2007 года
Zbyszek
118 / / 08.08.2007
А зачем это делать? Если уж создавать что-то из ресурсов,то создавать всё, тоже самое и для runtime'а. Но это лишь имхо.
334
05 сентября 2007 года
HexEdit
809 / / 27.07.2006
Ну я например окна создаю в runtime'е, а остальное из ресурсов.
Вернее даже сказать главное окно (ну и дочерние если MDI).
Диалоги - конечно с ресурсов.
12K
05 сентября 2007 года
whmario
33 / / 23.08.2007
Все OK. Разобрался я с функциями CreateMenu, CreatePopupMenu, InsertMenu и т.д. Спасибо большооооооооооооооооооооооооооое!А вот про загрузку окна и меню из ресурсов первый раз слышу!!! Это как? :eek:
16K
05 сентября 2007 года
Zbyszek
118 / / 08.08.2007
Посмотри здесь и здесь - две книги по Delphi, там есть примеры работы с ресурсами. Не помню, правда, есть ли там загрузка окон/меню из ресурсов.
Диалоги можно создавать ф-ей CreateDialog, а меню - LoadMenu, есть еще функции для загрузки из ресурсов других типов данных, например, LoadImage, LoadString и т.д...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог