18. maj 2004 - 11:18Der er
11 kommentarer og 1 løsning
Form designer
Jeg vil lige prøve igen; Jeg ville gerne lave en form-designer ala delphi'es, den skal dog ikke kunne bruges til at run-time-designe eller andet, jeg skal nok selv gemme og gentegne mv. Jeg har en der er 100% properties drevet og som bruger et "preView" panel under opbygningen og en activeX form der hvor jeg bruger formen, det virker fint, men jeg ville gerne have det visuelle med.
Er der nogen der har et link eller bare en stump kode som viser hvordan man kan hive i og flytte en label? Og jeg er kun interreseret i source og ikke nødvendigvis gratis.
33 points for 3 første brugbare link, har du kode som jeg kan bruge så 99.
stone>>flytte = flytte label rundt på samme moder (her et panel). Yderlig forklaring: Jeg kunne jo selv tegne de 8 grå firkanter og så lave noget kode der håndterede onClick på dem og på onClick på "komponenten" (en label i mit eksempel). Men komponenterne har jo allerede nogle metoder/props til netop dét, kan man ikke benytte sig af dem?
//her er et eksempel på at hive en label rundt på formen //eksemplet kan bruges på alle componenter
//{$R *.DFM} const Traekker:Boolean=False; var Sidste_x, Sidste_y:Integer;
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (SSleft in shift) then begin Traekker:= True; Sidste_x:=x; Sidste_y:=y; end;
end;
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var mx,my:Integer; begin if (traekker)and( ssleft in shift) then begin mx:=Label1.Left; Label1.Left:=Label1.Left-(sidste_x-x); mx:=Label1.Left-mx; my:=Label1.Top; Label1.top:=Label1.top-(Sidste_y-y); my:=Label1.Top-my; sidste_y:=Y-my; sidste_x:=x-mx; end else traekker:= false; end;
Ja ok. Men det skal være sådan at label'en "vælges" og der tegnes træk-punkter, som bruges til at gøre labelen størrer og mindre i de forskellige retninger. i breden og højeden, med anker modsat træk-punktet og osse dem som resizer både breden og højden. Når man trykker (mouseDown) på midten af en allerede valgt komponent så kan den flyttes, lige som stone foreslår, og punkterne skal osse med. Det er jo altsammen som ide'et i delphi 6.0, så mon ikke man kan få tegnet en komponent med punkter og de andre ting. Det er nok det mit spørgsmål egentlig kan koges ned til. Ellers skal man vist i gang med en længere kodning.
Tak, det virker osse, men det var måske ikke helt det jeg ville have at vide. MEN jeg er blevet overbevist om at det er den vej frem = en masse kode :) Så du er berettiget til points.
Tak, ja det har jeg en plan om. Er der ingen andre der har et svar......
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.