Strona 1 z 1

Przeciąganie okna klikając na element

: 31 lipca 2013, 15:01
autor: mydebian
Tak się zastanawiam, jak działa mechanizm przeciągania okna taki jak w przeglądarce chrome, gdy nie ma systemowego obramowania.
Jak coś takiego zrobić w swojej aplikacji? Korzystam z Vali, jednak nie mam pojęcia pod jakimi nazwami szukać. Domyślam się że to będzie związane z glib.

Czy ktoś mógłby podać mi informacje o takim efekcie, nazwy z innych języków?

: 31 lipca 2013, 15:26
autor: Rafal_F
GLib zapewnia główne bloki budowania programów dla bibliotek i aplikacji napisanych w języku C.
Z interfejsem użytkownika ma nie wiele wspólnego. Jeśli piszesz w GTK, to powinieneś zacząć od tego:
https://developer.gnome.org/gtk3/3.5/Gt ... -decorated
http://www.valadoc.org/#!api=gtk+-3.0/G ... .decorated

W gtk 2.x były funkcje dotyczące własnych obramowań: gtk_window_set_has_frame, ale później zniknęły.

Musisz po prostu wyłączyć dekorowanie okien przez menedżera okien i zrobić to samemu.

: 31 lipca 2013, 15:38
autor: mydebian
Tak, wiem jak je wyłączyć, ale nie wiem jak zrobić, aby móc samemu przeciągać okno.

: 31 lipca 2013, 16:08
autor: Rafal_F
A próbowałeś wszystko zaimplementować samemu? Reakcja na wciśnięcie przycisku myszy => zmiana położenia kursora => zwolnienie przycisku. Ze znalezieniem jakiegoś łatwego rozwiązania może być problem. Możesz przejrzeć google, szukaj pod hasłem "client side window decorations".