[ IDE @ 16.12.2005. 20:49 ] @


vjerovatno ste svi bar jednom do sad download-ovali neki keygenerator...
i on je vjerovatno izgledao nesto kao neka slika na kojoj se nalaze odredjeni dugmici...
i sto je karakteristicno vecinom su bez one plave linije na vrhu (ponovo sam zaboravio kako se zove (ono gdje ima minimize, maximize,close) :-) )

e mene interesuje : kako napraviti takvu aplikaciju (znaci bez onog najgornjeg klasicnog dijela *svih* aplikacija a da se takva aplikacija moze pomijerati kao i obicna...

a ovo me sve interesuje za Borland C++ Builder...

ja mogu napraviti takvu aplikaciju (Cini mi se BorderStyle=bsNone .. tako nesto...) ali je onda ne mogu pomjerati nikuda....

dakle... bilo kakva pomoc...
[ NrmMyth @ 16.12.2005. 21:27 ] @
Dat cu ti teoretsko rijesnje jer bi ja to znao napraviti samo u .NET-u.
Vezi se za MouseDown, MouseUp event, odnosno onaj koji se javlja kad se mis klikne na formu i kada se otpusti.
Kada se klikne onda prati pomicanje misa i tako pomici lokaciju svoje forme, to radis sve dok se mis ne otpusti, odnosno dok se MouseUp event ne javi.
[ NastyBoy @ 17.12.2005. 02:25 ] @
Ne, nemoj tako, to je "o-ruk" reshenje.
Windows ti vec nudi kompletnu podrshku za "dragovanje" celog prozora, samo se treba poigrati malo sa porukama. Ima par nachina na koji se to mozhe postici - evo najbrzheg' :

U OnMouseDown tvoje forme stavi samo sledeci kod i Windows ce uraditi ostatak za tebe (ShowMessage() je tu radi eventualnog debagovanja celog procesa):

Code:

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

        if (!ReleaseCapture())
        {
           ShowMessage("Error: ReleaseCapture failed");
           return;
        }
        SendMessage(Handle, WM_SYSCOMMAND, 0xF009, 0);

}

[ X Files @ 17.12.2005. 07:50 ] @
Da, postoji nekoliko lepih nacina da se to uradi, kao stoje pokazao NastyBoy. Ja
sam samo dodao da to radi samo sa levim tasterom misa...

Code:

// 1
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 );
   }
}


ili

Code:


void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    if ( Shift.Contains(ssLeft) )
    {
        ReleaseCapture();
        Perform( WM_NCLBUTTONDOWN, HTCAPTION, NULL );
    }
}


// 3
http://www.bcbjournal.org/bcbcaq/CAQs/caq42.htm


Treba jos reci da *ne mora* glavna forma da bude PRIMALAC poruka OnMouseDown
ili OnMouseUp.

To moze da bude i neki Panel koji se nalazi na glavnoj formi, jer cesto, forma nije
uopste *dostupna*...

[ IDE @ 17.12.2005. 14:12 ] @

"...Treba jos reci da *ne mora* glavna forma da bude PRIMALAC poruka OnMouseDown
ili OnMouseUp.

To moze da bude i neki Panel koji se nalazi na glavnoj formi, jer cesto, forma nije
uopste *dostupna*..."

da, ovo si u pravu...
ok, hvala vam svima na odgovorima...