Mam problem, mianowicie:
Jak w innej aplikacji w podmenu (np. Plik) głownego menu odblokować lub zablokować (włączyć/wyłączyć) daną pozycję tak by była ona niemożliwa do naciśnięcia lub odwrotnie ???
Przykład: mam aplikację powiedzmy WINZIP-a. W tejże aplikacji jest menu. W podmenu Plik jest pozycja "zamknij archiwum". Jest ona nieaktywna, gdyż nie ma otwartego archiwum. Czy i jak można odblokować tą opcję aby była ona możliwa do naciśnięcia. Dotyczy to nietylko tej aplikacji.
Moje próby:
var
WndHandle: THandle;
H,SubH: hMenu;
ID: Word;
begin
WndHandle := FindWindow(nil,'WINZIP');
H := GetMenu(WndHandle);
SubH := GetSubMenu(H, 1);
ID := GetMenuItemID(SubH, 1);
{tu mam ID np. elementu "Otwórz archiwum", i co dalej - jak go wyłączyć}
end;
lub
var
MII: TMenuItemInfo;
begin
MII.cbSize := SizeOf(MII);
GetMenuItemInfo(H, 1, True, MII);
MII.fMask := MIIM_STATE;
MII.fState := MII.FState or MFS_DISABLED;
SetMenuItemInfo(H, 1, True, MII);
{to działa, lecz tylko dla elementów głównego menu np. Plik/Edycja a nie elementów podmenu np. Nowy/Otwórz/Kopiuj/Wytnij itp. }
end;
Jest mi to niezmiernie potrzebne do szkoły na egzamin z Pascala!!