Кодеры - отзовитесь
#1
Posted 21 July 2006 - 03:09
var
MII : MenuItemInfo;
Buf : array [0..254] of Char;
begin
case TextId of
MM_PROCESS : TextOut(DC, Rect.Left + 30, Rect.Top + 5, PChar(Lang.Menu.M_HFP), Length(PChar(Lang.Menu.M_HFP)));
...code....
MM_SEPARATOR : TextOut(DC, Rect.Left, Rect.Top, nil, 0);
else
FillChar(MII, SizeOf(MII), #0);
FillChar(Buf, SizeOf(Buf), #0);
MII.cbSize := SizeOf(MII);
MII.fMask := MIIM_TYPE or MIIM_SUBMENU;
MII.dwTypeData := Buf;
MII.cch := SizeOf(Buf);
if not GetMenuItemInfo(dis^.hwndItem, TextId, False, MII) then
Exit;
if MII.dwTypeData = 'Settings' then
TextOut(DC, Rect.Left + 30, Rect.Top + 5, PChar(Lang.Menu.M_Settings), Length(PCHar(Lang.Menu.M_Settings)));
if MII.dwTypeData = 'Timer' then
TextOut(DC, Rect.Left + 30, Rect.Top + 5, PChar(Lang.Menu.M_Timer), Length(PCHar(Lang.Menu.M_Timer)));
if MII.dwTypeData = 'Actions' then
TextOut(DC, Rect.Left + 30, Rect.Top + 5, PChar(Lang.Menu.M_Action), Length(PCHar(Lang.Menu.M_Action)));
end;
end;
Проблема в функции GetMenuItemInfo - под 98ми в MII.dwTypeData название пункта СубМеню записываеться нормально, а под ХР в нем оказываеться NULL =( При этом под ХР вот этот код название получает нормально :
procedure SetMenuOpc(var aMenu : hMenu);
var
mCount : Cardinal;
Buf : array [0..255] of Char;
MII : MenuItemInfo;
i : Integer;
begin
mCount := GetMenuItemCount(aMenu);
if mCount <= 0 then begin
MessageBox(0, PChar(Lang.Error.CannotCreateMenu), PChar(Lang.Other.Error), MB_OK or MB_ICONWARNING);
Halt(0);
end;
for i := 0 to mCount - 1 do begin
FillChar(MII, SizeOf(MII), #0);
FillChar(Buf, SizeOf(Buf), #0);
MII.cbSize := SizeOf(MII);
MII.fMask := MIIM_TYPE or MIIM_SUBMENU;
MII.dwTypeData := Buf;
MII.cch := SizeOf(Buf);
if not GetMenuItemInfo(aMenu, i, True, MII) then begin
MessageBox(0, PChar(Lang.Error.CannotCreateMenu), PChar(Lang.Other.Error), MB_OK or MB_ICONWARNING);
Halt(0);
end;
MII.fType := MII.fType or MF_OWNERDRAW;
if not SetMenuItemInfo(aMenu, i, True, MII) then begin
MessageBox(0, PChar(Lang.Error.CannotCreateMenu), PChar(Lang.Other.Error), MB_OK or MB_ICONWARNING);
Halt(0);
end;
if MII.hSubMenu <> 0 then SetMenuOpc(MII.hSubMenu);
end;
end;
В чем может быть проблема ?
#2
Posted 21 July 2006 - 03:11
PS.
Кому интересно - сама прога (последняя версия) - http://www.winampcon...Control_2_9.rar
История версий - http://www.winampcon....ru/History.txt
#3
Posted 22 July 2006 - 13:13
Гоша, Вы редкостный мygak. (с) JesTerro
То, что ты ищешь - с тобой. Продолжая поиски, ты лишь всё более это теряешь. (с) Gosha
Всё что сразу не убивает - делает тебя сильнее!... (с) Gosha
#4
Posted 22 July 2006 - 17:50
К YoZH постучись.
Люди должны умереть
Убью лошадь, за каплю никотина
#5
Posted 22 July 2006 - 18:03
Я html/php онли...Тут не кодеры, тут флудеры.
К YoZH постучись.
Ну, ещё немнога perl, javascript
#6
Posted 23 July 2006 - 01:11
#7
Posted 23 July 2006 - 01:13
И остался у него неиспользованный кусок
что еще слепить тебе?-спросил бог
слепи мне счастье-попросил человек
ничего неответил бог
толька положил в ладонь
оставшейся кусочек глины.
Баян ета что-то очень музыкальное =)
ИМХО-полюбому!!
#8
Posted 23 July 2006 - 02:36
MII.fMask := MIIM_TYPE and MIIM_SUBMENU;
#9
Posted 24 July 2006 - 00:48
Почитай книжки (не в обиду будь сказанно)
Green Peace
Кроме мирка где еще можно тебя найти ? (я мирк особо не юзаю и не разбираюсь.....)
Yarra
Где его найти ?
Gosha
А куда ты предлагаешь ?
#10
Posted 24 July 2006 - 00:54
Green Peace
Кроме мирка где еще можно тебя найти ? (я мирк особо не юзаю и не разбираюсь.....)
дома =)
#11
Posted 24 July 2006 - 10:25
Мне лично зайти ? =)
Reply to this topic
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users