27 February 2006 •
C++ •
Brak komentarzy
Co zrobić kiedy do programu dodajemy funkcję, która działa w systemach z serii NT? Wydaje się że wystarczy sprawdzić w kodzie wersję systemu i ewentualnie pominąć pewne fragmenty kodu. Niestety nie jest to rozwiązanie, tak skompilowany program/biblioteka na starszym systemie się nie uruchomi.
Rozwiązanie jest trochę trudniejsze. Omówię to na przykładzie SetLayeredWindowAttributes. W zasadzie dochodzą tylko 2 linie kodu:
BOOL (WINAPI *WinSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD); // tworzymy zmienną - wskaźnik na funkcję
WinSetLayeredWindowAttributes =(BOOL (WINAPI *)(HWND,COLORREF,BYTE,DWORD))GetProcAddress(GetModuleHandle("USER32"),"SetLayeredWindowAttributes"); // Ładujemy funkcję
if(WinSetLayeredWindowAttributes)
{
// Jeżeli funkcja jest dostępna
}
else
{
// obsługa dla starszych systemów
}
Tak załadowana funkcja nie będzie przeszkadzała w ładowaniu biblioteki i umożliwi pracę na starszym systemie.
Przy okazji wydania nowej tabletKi zmuszony byłem zmodyfikować wtyczkę FavIcon. W nowej odsłonie dodano zaproponowaną na forum możliwość ustawiania alternatywnej ikony blokowania kontaktu.
Pobierz: FavIcon 0.2
Do użytku oddaję kolejną wersję TabletKi. Jak zwykle masa poprawek, znalazło się kilka istotnych usprawnień oraz nowych funkcji. Pełna lista zmian przedstawia się następująco:
Poprawki
- Poprawka działania kółka myszki
- Działa już Ctrl+C w kIEView
- Poprawa obsługi wiadomości kBoard
- Usunięto zbędne 4px
- Pokazywanie się pozycji w menu kontekstowym kontaktu, nawet kiedy zakładka była zamknięta
- Błędne ukrywanie paska przy jednej otwartej zakładce
- \r\n zamieniane na / w tooltipie buttonów.
- Aktualizowanie ikony statusu dla nie otwartych zakładek (których okna nie istnieją)
- Poprawki nie dostrzeżonych wcześniej błędow.
- Miganie toolbara
Nowości
- Współpraca z FavIcon (wymaga najnowszej wersji)
- Blokowanie okien rozmowy, histori oraz listy kontaktów (na hasło)
- Przezroczystość okna zbiorczego
- Middleclick na tabie
Usprawnienia
- Okno nie miga kiedy jest aktywne
- Opcja: Przycisk przypinania widoczny jedynie przy odpiętym oknie
- Nowa ikona zamykania zakładek
- Możliwość wyłączenia danego skrótu
Funkcja blokowania Konnekta zostanie z pewnością wydzielona do osobnej wtyczki, wymagającej TabletKi. Wydzieloną wtyczkę planuje wydać na licencji OS, ale to w przyszłości
W związku z problemami z połączeniem z KPlugins oraz stroną Konnekta ta wersja będzie miała swój mirror na konnekt.wiadomosc.info
Pobierz: tabletKa 1.6.0.5