problem z CDM_GETFILEPATH

problem z CDM_GETFILEPATH
sidknot
  • Rejestracja: dni
  • Ostatnio: dni
0

Próbuję zaimplementować sobie program z tego kursu, w którym modyfikuje się okno dialogu otwierania pliku http://darkcult.gamedev.pl/kursy/apidlg6.html i oto mój kod http://wklej.org/id/282456/. Problem jest taki, że to wywołanie

SendMessage (hWnd, CDM_GETFILEPATH, MAX_PATH, (LPARAM)&Buffer);
nie chce pobrać mi ścieżki do pliku, w czym może tkwić problem ?

06
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2440
0

A co zwraca SendMessage?

sidknot
  • Rejestracja: dni
  • Ostatnio: dni
0

SendMessage zwraca 0

SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 513
0

Jeżeli używasz flagi OFN_EXPLORER, to hwnd w hooku określa 'child dialog', przez co musisz użyć funkcji GetParent:

Kopiuj
SendMessage(GetParent(hWnd), CDM_GETFILEPATH, MAX_PATH, (LPARAM)Buffer);

Poza tym, ciekawe po co tam jest flaga OFN_HIDEREADONLY, skoro chcemy odczytać plik, a nie zapisać? Ślepota bloggerów nie zna granic :)

Jeszcze jedno, co by się przydało w przypadku gdy fileopendialog pojawi się poza ekranem:

Kopiuj
if (pnmhdr->code == CDN_INITDONE)
{
	SendMessage(GetParent(hWnd), DM_REPOSITION, 0, 0);
}
sidknot
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki sapero, pomogło :-)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.