Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание главного меню на WinCE [WinXP]


AnarchyMob ©   (2008-11-07 01:46:00) 

Возник такой вопросец, как используя только WinAPI создать Menu Bar на WinCE и вставить туда элементы из ресурса. Смотрел соответствующюю функцию в KOL_CE сделал как там, но что-то не вышло, наверное делал что-то не так, подскажите пожалуйста.


AnarchyMob   (2008-11-07 12:18:00) [1]

Пишу такой код, я вывел его в отдельную функцию:

function CreateMenuBar(hInst: HANDLE; Parent: HWND; ResID: Integer): HWND;
var
 mbi: SHMENUBARINFO;
 BR: TRect;
begin
 Result := HWND(nil);
 GetWindowRect(Parent, BR);
 mbi.hwndMB := SHFindMenuBar(Parent);
 if mbi.hwndMB <> 0 then
 begin
   DestroyWindow(mbi.hwndMB);
   mbi.hwndMB := 0;
 end;
 FillChar(mbi, SizeOf(mbi), 0);
 mbi.cbSize := sizeof(mbi);
 mbi.hwndParent := Parent;
 mbi.nToolBarId := ResID;
 mbi.hInstRes := hInst;
 if SHCreateMenuBar(@mbi) then
 Result := mbi.hwndMB;
end;


Но что-то ничего, и размеры окна подбирал и строку Result := HWND(nil);удалял и ни чего. При сообщении WM_CREATE я делал так: CreateMenuBar(hInstance, Wnd, 2001);
   FillChar(s_sai, SizeOf(s_sai), 0);
   s_sai.cbSize:=sizeof(s_sai);
s_sai это SHACTIVATEINFO, а в WM_ACTIVATE вставлял SHHandleWMActivate(Wnd, wParam, lParam, @s_sai, 0);что я только с этим кодом не делал всё равно неполучается. Как в Win32 хорошо при регистрации класа указал и всё, или в CreateWindowEx помойму в девятом параметре.


brother   (2008-11-07 04:17:00) [2]

> сделал как там, но что-то не вышло, наверное делал что-то
> не так, подскажите пожалуйста.

и что ты хочешь услышать? где код? где конкретная ошибка или строка в коде, где появляется ошибка??? Ты думаешь, что тут все телепаторы?


Наверх

Титульная страница Поиск, карта сайта Написать письмо