KoSiarzPL
1.11.2006 - 04:30
Jak uzyskać uchwyt do toolbara głównego oraz toolbara sieci?:
CODE
void* uchwyt1 = (void*)IMessage( IMI_GROUP_GETHANDLE, 0, 0, (int)&sUIAction( IMIG_MAINWND, IMIG_BAR ) );
void* uchwyt2 = (void*)IMessage( IMI_GROUP_GETHANDLE, 0, 0, (int)&sUIAction( IMIG_BAR, IMIG_STATUS ) );
, oba zwracają mi zero.
Sprobuj tak:
IMI_ACTION_GET, p1 = sUIActionInfo *, ustawiasz parent, id i maske (jak dasz maske 0 to pobierze wszystko)
w sUIActionInfo jest uchwyt (chociaz nie pamietam czy to dzialalo czy nie)
dulek000
1.11.2006 - 08:04
A gdzie to robisz? W IStart te toolbary jeszcze nie istnieją.
Jak narazie najlepszym rozwiązaniem było utworzenię wątku i czekanie na toolbara.
eee? A nie pomoże UIActionHandle? też coś takiego jest.
dulek000
1.11.2006 - 10:49
W IStart nie pomoże - te toolbary są tworzone po nim. Zrób sobie MessageBox(0, 0, 0, 0) w IStart i przyjrzyj się okienku przez Spy++.
Na pewno da się pobrać przez GetDlgItem
KoSiarzPL
1.11.2006 - 14:23
Ok toolbary juz mam jeszcze mi zostało pobrać uchwyt do listy kontaktów. Jakie id jest tej akcji? I jakiego typu jest to kontrolka?
Uchwyt: GetDlgItem(hWndK, 1000);
Kontrolka to ListView.
KoSiarzPL
2.11.2006 - 00:00
Dzięki ursus. Jednak mój błąd i chodziło mi o uchwyt do kontrolki trzymającej listę kontaktów. Czyli chodzi mi o cały panel zakładek. Więc jaki jest identyfikator tego panelu i jaki to jest typ okna.
[eidt]
Przy okazji. Jest jakiś komunikat, który by informował, że UI zostało załadowane? Jeśli nie to może jakiś prosty sposób na wychwycenie że dany element już został załadowany bez tworzenia wątku i kręcenia się w nim w kółko?
dulek000
2.11.2006 - 06:17
Jest to SysTabControl32 o id 1001.
KoSiarzPL
2.11.2006 - 18:47
Niestety nie, w IStart dalej główna belka pod listą kontaktów nie istnieje.
Spróbuj oczytać uchwyt w IM_ALLPLUGINSINITIALIZED, albo zobacz subclassowanie akcji IMIG_STATUS.
subclassuj więc akcje - wtedy na pewno będzie już utworzony
KoSiarzPL
2.11.2006 - 21:32
IM_ALLPLUGINSINITIALIZED już próbowałem wcześniej ale też nie działą. Ogólnie nie ma takiego komunikatu w K, który mów "UI zostało zainicjalizowane". Subklasować akcję okna głównego lub barów to trochę brutalne podejście
Rozwiązałem to w inny sposób.
Jest to kolejna cegiełka do nowego API 0.7, która by się przydała.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.