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

Pomeranje programa

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

[ Pregleda: 1349 | Odgovora: 8 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MatezYU
NS

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

Sajt: www.matezyu.byethost6.com


Profil

icon Pomeranje programa19.09.2004. u 18:56

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
19.09.2004. u 18:56 

Almedin

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



Profil

icon Re: Pomeranje programa19.09.2004. u 19:39
Obradi poruku WM_NCHITTEST. Vrati HTCAPTION i windowsi će smatrati da je kliknuto na naslovnu traku.
19.09.2004. u 19:39 

bancika
Branislav Stojkovic
Nis, New York

Član broj: 24844
Poruke: 620
212.62.58.*

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: Pomeranje programa19.09.2004. u 19:45
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
19.09.2004. u 19:45 

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
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;


19.09.2004. u 19:54 

marcha
Nikola Marcic
Beograd/Leskovac

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

ICQ: 156892888


Profil

icon Re: Pomeranje programa20.09.2004. u 08:11
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 za***a.
20.09.2004. u 08:11 

bancika
Branislav Stojkovic
Nis, New York

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

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

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

sergio
Beograd

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



Profil

icon Re: Pomeranje programa21.09.2004. u 12:23
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 ...
_______________
21.09.2004. u 12:23 

MatezYU
NS

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

Sajt: www.matezyu.byethost6.com


Profil

icon Re: Pomeranje programa21.09.2004. u 12:39
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
21.09.2004. u 12:39 

reiser
Vranje

Član broj: 7895
Poruke: 1892
*.dialup.neobee.net.



Profil

icon Re: Pomeranje programa21.09.2004. u 17:17
Code:
Application.Minimize
21.09.2004. u 17:17 

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

[ Pregleda: 1349 | Odgovora: 8 ]

Postavi temu Odgovori

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