witam !
mój poprzedni post wylądował w koszu pawdopodobnie z powodu zbyt krótkiego tematu 'ContextMenu' (jeśli z jakiegoś innego powodu to proszę o kontakt od tego kto go przeniósł, przy okazji zwracam skromnie uwagę że w mailu który otrzymałem z powiadomieniem nie było informacji o tym kto tego przeniesienia dokonał co uniemożliwia kontakt z mojej strony).
mój orginalny post:
Witam, Święta szły szły aż w końcu przyszły i z tej okazji pomyślałem żeby pchnąć coś nie coś u siebie do przodu ...
no i w trakcie pchania pewnego dziadostwa pojawił się następujący problem :
implementacja menu kontekstowego którą napisałem nie działa w dwóch przypadkach:a) gdy klikam na folderze specjalnych z NameSpace np 'Moje dokumenty' 'Mój komputer' itp - pozycja w menu znika wtedy całkiem
b) gdy klimak na menu start - wtedy menu funkcjonalnie działa, ale pole w menu głównym jest puste tzn znikła ikona i tekst (w podmenu wszystko jest jak być powinno, w każdym razie tekst jest bo ikon brak ort! z założenia)czemu tak się dzieje i co powinienem zrobić żeby było ok ?
jedna :) odpowiedź:
0x666 26-12-2005 20:07
Zaimplementuj/użyj IContextMenu2 (problem ikonek) i/lub IContextMenu3
po pierwsze to problem nieistnienia pozycji menu w przypadku ShellFolders interesuje mnie mniej bo jak napisałem nie pojawia się w ogóle więc najwyżej może jej nie być. ale kwestia rozwiązania tego owszem interesuje mnie.
problemem dla mnie natomiast jest pozycja która działa i rozwija się, ale nie wyświetla się ani tekst, ani ikona - dzieje się tak gdy kliknę na przycisk 'Start' w lewym dolnym rogu ekranu - bardzo nieelegancko to wygląda.
na post 0x666 odpowiadam (i za niego dziękuję:)), że obydwa interfejsy IContextMenu2 i IContextMenu3 są i były zaimplementowane przed napisaniem tego tematu (tym bardziej skoro napisałem że w pozostałych sytuacjach -czyli przy normalnych plikach i folderach- wszystko działa).
do pewnego stopnia wiem czemu menu znika (jak sprawdziłem) : przy otwarciu się prawoklikowego menu kontekstowego dla 'Menu Start', NIE JEST wywoływana żadna z metod HandleMenuMsg ani HandleMenuMsg2, więc w miejsce obsłużenia komunikatów WM_MEASUREITEM i WM_DRAWITEM nie dzieje się nic. więc pytanie - dlaczego te metody nie są wywoływane i co zrobić żeby były, w każdym razie co zrobić żeby albo napis i ikona była, albo żeby pozycji nie było w ogóle ?