Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomeranje programa

[es] :: Pascal / Delphi / Kylix :: Pomeranje programa

[ Pregleda: 3624 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MatezYU

Član broj: 4114
Poruke: 1586
*.84.EUnet.yu



+17 Profil

icon Pomeranje programa19.09.2004. u 18:56 - pre 207 meseci
Pisem jedan mali program za pustanje muzike pa me muci problem... Posto sam iskljucio sa:

form1.borderstyle:=bstoolwindow

nemam gornji deo i ne mogu da pomeram program sa misem sa jednog dela ekrana na drugi... Hteo bih da to odradim ali ne znam kako... Recimo kao kada se klikne misem na winamp i kada se vuce po ekranu on se pomera... Ali nebitno na koji deo programa se stisne... ne samo na gornju traku...

Hvala
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 391
*.as54.tz.bih.net.ba.



+25 Profil

icon Re: Pomeranje programa19.09.2004. u 19:39 - pre 207 meseci
Obradi poruku WM_NCHITTEST. Vrati HTCAPTION i windowsi će smatrati da je kliknuto na naslovnu traku.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
212.62.58.*

Sajt: www.diy-fever.com


+1 Profil

icon Re: Pomeranje programa19.09.2004. u 19:45 - pre 207 meseci
za to ima lepo resenje, samo sto trenutno nemam pri sebi
ideja je da na OnMouseDown event komponente koja ce da ti sluzi za drag (recimo neka slicka ili nesto) posaljes poruku da se pocne pomeranje.
ovde nemam kod, ali ako hoces ima u nekom mom programu to, evo ti adresa za dl source-a, ako hoces (100 KB), pa pogledaj :)

http://www.storm-software.co.yu/software/cool_shutdown_source.zip

Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

freespace
Filip Skorup
Donji Miholjac

Član broj: 31925
Poruke: 72
*.cmu.carnet.hr

Sajt: filsko.100webspace.net


Profil

icon Re: Pomeranje programa19.09.2004. u 19:54 - pre 207 meseci
code:

var

Form1: TForm1;
status:boolean; //s need to be global
xdif,ydif:integer; //need to be global
implementation
{$R *.DFM}
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if status = false then exit;
form1.left := mouse.cursorpos.x -xdif;
form1.top := mouse.cursorpos.y -ydif;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
xdif := mouse.cursorpos.x - form1.left;
ydif := mouse.cursorpos.y - form1.top;
status := true;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
status := false;
end;


 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.131.EUnet.yu

ICQ: 156892888


+1 Profil

icon Re: Pomeranje programa20.09.2004. u 08:11 - pre 207 meseci
Evo ti jos jednog resenja.
Code:

//dodaj deklaraciju u private deo unita 
procedure WMNCHitTest(var Msg: TWMNCHitTest);message wm_NCHitTest;

//implementacija

procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest);
begin
  inherited;
  if  Msg.Result = htClient then
    Msg.Result := htCaption;
end;

//OnMouswDown - panela (paCaption) koji zamenjuje caption bar i sluzi za setanje prozora

procedure TForm1.paCaptionMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Handle, WM_SYSCOMMAND, 61458, 0);
end;

Pozdrav,
Marcha
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.info-net.co.yu

Sajt: www.diy-fever.com


+1 Profil

icon Re: Pomeranje programa20.09.2004. u 23:07 - pre 207 meseci
mislim da radi i samo sa zadnjom procedurom
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

sergio
Beograd

Član broj: 2095
Poruke: 67
*.sbb.co.yu



Profil

icon Re: Pomeranje programa21.09.2004. u 12:23 - pre 207 meseci
Mala izmena postojeceg koda :


void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (status == false) {
xdif = X;
ydif = Y;
exit;
}
Form1->Left += X - xdif;
Form1->Top += Y - ydif;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
xdif = X;
ydif = Y;
status = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
status = false;
}



Keep on going ...
_______________
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.235.EUnet.yu



+17 Profil

icon Re: Pomeranje programa21.09.2004. u 12:39 - pre 207 meseci
A kako mogu sada da namestim da klikom na jedno dugme da mi se prozor minimizira? probao sam ali samo mi se spusti u donji levi ugao ekrana tj. nece da nestane prozor sa ekrana i da stoji samo u system tray-u
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Pomeranje programa21.09.2004. u 17:17 - pre 207 meseci
Code:
Application.Minimize
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pomeranje programa

[ Pregleda: 3624 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.