MASZYN.OLECKO.PL

Forum dyskusyjne
It is currently September 4, 2010, 7:46 pm

All times are UTC





Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: projektowanie komponentu
PostPosted: 2002-04-09 22:52:09
Online
Registered User

Joined: 2002-04-09 22:52:09
Mam takie skromniutkie pytanko do grupowiczow.
Zamierzam napisac sobie komponent ktory uwzgledniac bedzie innny juz
zainstalowany komponent.
To znaczy rzucam komponent dotyczacy "resize w runtimie", a nastepnie
programowo narysowac symbol graficzny ktory z zalozenia ma sie pokazywac na
poprzednim komponencie tym od resizu.
A wszystko to po to aby, poxniej taki komponent mogl wstawiac w runtimie
wraz z tymi cholernymi 8 kwadracikami.
Mam nadzieje, ze da sie zrobic taki trick bo nie mam pomyslu na uczciwy
resize w runtime.
Jesli ktos sie z tym zmagal prosze o podpowiedx, krytyke, opinie, cokolwiek,
jakie mnie czekaja problemy i takie tam.
Pozdrowienia POL
--
Wyslano z serwisu OnetNiusy: http://niusy.onet.pl






Top
 Profile
 
 Post subject: projektowanie komponentu
PostPosted: 2002-04-10 01:42:33
Online
Registered User

Joined: 2002-04-10 01:42:33
polstep...@o2.pl napisal(a) w wiadomosci:
...
>Mam takie skromniutkie pytanko do grupowiczow.
>A wszystko to po to aby, poxniej taki komponent mogl wstawiac w runtimie
>wraz z tymi cholernymi 8 kwadracikami.

A po cholere Ci te kwadraciki ?. Ich tworzenie nie jest trudne,
wystarczy tworzyc 8 czarnych Labeli i obsluzyc OnMouse...
Tylko po co Ci one. Form w RunTime mozesz zmienic
rozmiar bez zadnych kwadracikow, prawda ?. Wskazana jest
tylko zmiana ksztaltu kursora, kiedy mysz znajduje sie na
krawedziach czy rogach, aby sygnalizowac userowi mozliwosc
operacji.
Zrob tak:
Zalozmy, ze masz DoResize do operacji na wszystkich
komponentow na Formie. Operacja na TWinControl to male
piwko, TGraphicControl nie ma Handle. Poniewaz np.
zwykle ButtonClick wykonuje jakis kod, a w trakcji operacji
klikasz na Button, zatem w kodzie DoResize ja bym najpierw
zapamietal wszystkie OnMouse... komponentow i Formy.
Potem podmienilbym na swoje. Zrobilbym to wszystko jako
komponent. W jego Create tworzysz potomek TWinControl
(TSizing) o Visible = false, dla niego Form jako Owner i
Parent. Nadpisujesz CreateParams oraz
MouseDown:
procedure TSizing.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.Style := Params.Style or WS_SIZEBOX;
{efekt taki, ze jak mysz na np. krawedzi to zmiemi
ksztalt i mozesz zmienic rozmiar Sizing tak, jak Form}
end;
procedure TSizing.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
begin
  if Button = mbLeft then
  begin
    ReleaseCapture;
    SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
  end;
  {naciskajac mysz mozesz przesuwac Sizing}
end;
Kiedy jestes w trybie edycji (po wywolaniu DoResize, musisz
dorobic Flage) i klikasz np. na Button to przesuwasz Sizing
nad Button, dasz jego rozmiar na rozmiar Button i Visible
= true. Teraz mozesz zmienic rozmiar i pozycje Sizing.
Jak jestes zadowolony to np. klikasz na Form i w tym
momencie przesuwasz Button do Sizing (SetBounds)
i dasz Sizing.Visible = false. Jak klikasz nie na Form
a na np. Panel to po SetBounds dla Button zostaw Sizing.Visible
ale przesuwasz Sizing nad Panel. I tak dalej. Musisz
miec komende do zakonczenia trybu edycji. Tak, jak DoResize,
umieszcz w menu. Przy wychodzeniu z edycji musisz
przywrocic zapamietane OnMouse...
Musisz zapisac wlasciwosci do pliku i przy starcie
odczytac.
Tak w wielkim skrocie. Sprobuj. Jak nie dasz rade
a znajde troche czasu to zobaczymy. Najpierw
musisz sam sprobowac.
 Pozdrawiam.
---------
 Tocbac.
Poczta: g...@2com.pl






Top
 Profile
 
Post new topic Reply to topic  [ 2 posts ] 




 Topics   Author   Replies   Views   Last post 
No new posts Profesjonalne projektowanie PCB - projektowanie urzadzen elektronicznych - inzynier elektronik

Adam Jurkiewicz

0

0

2010-01-08 07:48:54

No new posts Inzynier elektronik - profesjonalne projektowanie PCB - projektowanie urzadzen elektronicznych

Adam Jurkiewicz

0

0

2010-03-16 04:42:53

No new posts projektowanie

Wieslaw K

0

0

2010-02-14 20:29:29

No new posts projektowanie 3D i CNC

Pablo

0

0

2010-02-23 04:09:18

No new posts Projektowanie stron WWW

LazyBoy

0

0

2010-02-12 18:23:57

No new posts Projektowanie ubiorow...

Wojciech Sas Cieciwa

0

0

2010-02-16 15:31:12

No new posts projektowanie wnetrz

Piotrek

0

0

2010-02-17 21:22:42

No new posts projektowanie form :)

maciek

0

0

2010-02-12 00:39:11

No new posts Projektowanie maszyn...

Przemo

0

0

2010-02-07 14:52:08

No new posts Projektowanie maszyn

emilda

0

0

2010-02-06 20:22:56


Who is online

Users browsing this forum: Marek Szerszynski,venioo,wieslaw,\/,Zilch,nikifor,Elwira, prezenty and 6 guests


New posts New posts    No new posts No new posts    Announce Announcement
New posts [ Popular ] New posts [ Popular ]    No new posts [ Popular ] No new posts [ Popular ]    Sticky pozycjonowanie
New posts [ Locked ] New posts [ Locked ]    No new posts [ Locked ] No new posts [ Locked ]    Moved topic Moved topic
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group - Pozycjonowanie