Przeci

Potrzebujesz pomocy z C, C++, perl, python, itp.
mydebian
Posty: 7
Rejestracja: 10 lipca 2013, 11:54

Przeciąganie okna klikając na element

Post 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?
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post 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.
mydebian
Posty: 7
Rejestracja: 10 lipca 2013, 11:54

Post autor: mydebian »

Tak, wiem jak je wyłączyć, ale nie wiem jak zrobić, aby móc samemu przeciągać okno.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post 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".
ODPOWIEDZ