[ lord Vader @ 08.07.2005. 19:53 ] @
Da li neko zna kako se prave šerenoliki interfejsi za programe poput Nera, nekih plejera ili autoranova? Zanima me sam interfejs jer u tim slučajevima nije pravougaonog oblika a ponegde je čak jedan deo odvojen od ostatka. Čini mi se da su to ustvari zalepljene sličice ali mi nije jasno kako ih postave da se sam dijalog ne vidi a one ponašaju kao deo istog iako se nalaze bilo gde.
Molim sve koji znaju nešto ovome da mi rasvetle situaciju.
[ X Files @ 08.07.2005. 21:11 ] @
Pogledaj API-je:

Code:

// ...
CreatePolygonRgn()
CreateRoundRectRgn()
// ... itd...

i zatim...
Code:

CombineRgn(); // da iskombinujes neke regione i dobijes KOMPOZITNI region


i konacno, da tvoj novi prozor dobije oblik kakav zelis:
Code:

SetWindowRgn()


Oko postavljanja slika necu ti nista objasnjavati, to se radi lako, a sve zavisi od
biblioteke koju koristis...


[ NastyBoy @ 08.07.2005. 21:59 ] @
Dobar uvod u skinning :

http://www.flipcode.com/articles/article_win32skins.shtml
[ lord Vader @ 09.07.2005. 14:10 ] @
Hvala, ovo je dobro.
Samo me interesuje još nešto. Ima li nekog materijala o pravljenju "balloon tips"?
Ovo je veoma korisna korisna stvar.
Hvala unapred
[ X Files @ 09.07.2005. 18:35 ] @
Ovo je izvor koji moras prouciti:
http://tinyurl.com/4q27u

Ovo su tipovi u praksi koji pokazuju na neku kontrolu
http://tinyurl.com/a7cd2

Baloni za Tray...
http://tinyurl.com/7p7cp
[ lord Vader @ 10.07.2005. 16:57 ] @
Hvala na odgovorima. Probao sam primere koji idu uz onaj clanak o "skinovanju" aplikacija i primetio sam da se nijedan primer ne ponasa kao dijalog, znaci ne moze da se pomera. Da li je to jednostavno ostalo da se rucno implementira ili taj primer prikazuje nacin da se pokaze slika ali koja se ne ponasa kao dijalog?ako neko moze da mi razresi ovu dilemu molio bih ga da objasni.
[ X Files @ 10.07.2005. 18:12 ] @
Uvek otvori NOVI thread za novo pitanje. Ti si postavio 3 pitanja u okviru jednog.
Ovo je jedno od osnovnih pravila na forumima...

Ovako onaj ko nije zainteresovan za skining ne može lako da nađe kako se forma
pomera mišem...


Ovi primeri su za Borland C++ Builder ali će uz male ili nikakve modifikacije raditi
na svim C++ kompajlerima jer se uglavnom radi o API-ju
Način 1:

Code:

// --- H ---
private: // of TForm1 class
    void __fastcall WMNCHitTest(TMessage& Msg);  
BEGIN_MESSAGE_MAP  
    MESSAGE_HANDLER(WM_NCHITTEST, TMessage, WMNCHitTest)  
END_MESSAGE_MAP(TForm)

--- CPP ---
void __fastcall TForm1::WMNCHitTest(TMessage &Msg)  
{  
   TForm::Dispatch(&Msg);  
   if (Msg.Result == HTCLIENT) Msg.Result = HTCAPTION;  




Metod 2:
Code:
  
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, 
    TShiftState Shift, int X, int Y) 

    if (Button == mbLeft) 
    { 
        ReleaseCapture(); 
        SNDMSG(Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); 
    } 




[Ovu poruku je menjao X Files dana 10.07.2005. u 19:30 GMT+1]