![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание главного меню на 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);s_sai это SHACTIVATEINFO, а в WM_ACTIVATE вставлял
FillChar(s_sai, SizeOf(s_sai), 0);
s_sai.cbSize:=sizeof(s_sai);SHHandleWMActivate(Wnd, wParam, lParam, @s_sai, 0);что я только с этим кодом не делал всё равно неполучается. Как в Win32 хорошо при регистрации класа указал и всё, или в CreateWindowEx помойму в девятом параметре.
brother (2008-11-07 04:17:00) [2]> сделал как там, но что-то не вышло, наверное делал что-то
> не так, подскажите пожалуйста.
и что ты хочешь услышать? где код? где конкретная ошибка или строка в коде, где появляется ошибка??? Ты думаешь, что тут все телепаторы?