|
| Opbygning af følgende Fra : Ukendt |
Dato : 23-12-05 12:16 |
|
Hej.
Jeg er lidt i tvivl om, hvorledes følgende "layout" bliver opbygget i
praksis - og håber derfor lidt hjælp og input herfra.
Jeg bruger Delphi 2005 og ønsker at lave et alm. WinForm program.
Der skal derfor være en menu og en værktøjslinie øverst.
Derefter ønsker jeg et panel (eller hvad der nu er mest relevant for
opgaven), der skal ligge vandret lige under værktøjslinien. Denne skal give
informationer til brugeren.
I venstre side af skærmen går en lodret bjælke med nogle knapper, hvorfra
man kan vælge diverse "emner" i programmet.
Helt nederst skal der ligge en statuslinie.
Alt ovenstående skal være "fast" uanset hvilket skærmbillede man er i, i
programmet.
Alt afhængigt af, hvad man vælger i den venstre bjælke, så skal alt det, der
ligger "over statuslinien / til højre for bjælken til venstre / under det
øverste panel" skifte udseende.
Mit spørgsmål er nu, om man skal lave et SDI eller et MDI program her?
Eller hvordan det laves i praksis.
(Det er vigtigt, at man ikke kan minimere eller ændre placering og størrelse
m.v. på "indholdsvinduet"
Jeg er lidt på bar bund hvad ovestående angår, men når jeg finder ud af,
hvad jeg skal gøre, så kan jeg sagtens "gøre" det rent teknisk (er jeg ret
sikker på)
| |
Tiscali (23-12-2005)
| Kommentar Fra : Tiscali |
Dato : 23-12-05 12:44 |
|
Hhhmm, jeg kan ikke helt se opbygningen for mig, men ud fra det du skriver,
så tror jeg, at jeg ville vælge at bruge faneblade ligesom din Delphi 2005
compiler gør.
En god ide er - det gør jeg - at bruge forbilleder. Hver gang jeg ser et
flot skærmbillede f.eks. hvis jeg browser på Internettet eller bruger en ny
applikation og jeg synes om designet, så udskriver jeg det. Når jeg så står
og mangler en ide, så bladrer jeg min mappe igennem og ret tid dukker der
løsninger op.
Ellers læs om skærmbillede design på nettet. Det boomer med informationer.
M$ har også en del om det på deres site. Her er blandt andet også gode råd
til tekster, osv. Det er ret tit, når man har et problem, så har andre løst
det for een *s*.
Måske du kan få noget inspiration på www.pctools.com. Ser skærmbillederne
til deres SpywareDoctor. Jeg tror måske du kan hente lidt inspiration der.
Held og lykke.
/Brian
| |
Ukendt (23-12-2005)
| Kommentar Fra : Ukendt |
Dato : 23-12-05 13:33 |
|
"Tiscali" <x@x.x> skrev i en meddelelse
news:LoRqf.3203$Cl2.92313@news000.worldonline.dk...
> Hhhmm, jeg kan ikke helt se opbygningen for mig, men ud fra det du
> skriver, så tror jeg, at jeg ville vælge at bruge faneblade ligesom din
> Delphi 2005 compiler gør.
Jeg har lagt en håndtegnet tegning op her:
www.kulturlignat.dk/eksempel1.jpg
Jeg ved ikke, om den kan hjælpe dig med at give et billede.
Jeg havde slet ikke overvejet faneblade før nu. Men er stadig lidt usikker.
Der er tale om vidt forskellige dele af programmet, der kommer til at ligge
under de forskellige knapper til venstre.
Vil det dermed stadig være ok / fordelagtigt at bruge faneblade?
I første omgang, hvade jeg tænkt på et panel med nogle knapper til venstre i
stedet for faneblade. Knapperne skulle så ændre indholdet af det til højre.
Men faneblade gør i princippet det samme?
> Held og lykke.
Tak - og tak for input.
| |
Tiscali (23-12-2005)
| Kommentar Fra : Tiscali |
Dato : 23-12-05 14:10 |
|
Hej igen,
pæn håndskrift *s*.
Nu findes der ikke noget rigtig og forkert. Der findes kun god og dårlig
fungerende skærmbilleder (o;
En ting jeg synes, at man skal gøre sig klart er, om man har brug for de
forskellige skærmkontroller. Altså, bare fordi der findes en værktøjslinie,
har man så brug for den? Vil du bare have den med fordi den er blæret? Eller
er der et faktisk behov for den?
Jeg synes du skal se på det link jeg sendte til dig, dels fordi jeg tror, at
de programmer der er der, fungerer efter det princip du efterlyser.
Installerer en Trial version. Skærmbillederne skifter, hvis man trykker på
knapperne til højre.Og, så fordi, at nogen har gjort arbejdet for dig *s*.
Jeg synes, at det er en af de bedre skærmdesigns jeg har set længe. Og, jeg
synes at brugergrænsefladen fungerer upåklageligt... Den er nem at gå til og
man behøver ikke kalde hjælpen frem for at finde ud af hvad man skal gøre i
programmet.
En anden lille huske regel er. Hold altid i så få farver som muligt. Se hvor
lige til skærmbillederne er. Og, der er intet som flotte ikoner, der kan
fange brugernes øjne.
Læg mærke til, at der bruges igen hovedmenu, værktøjslinien, statusbar eller
lignende. Dog har skærmbillederne lidt "Web page" over dem. Istedet for
knapper benytter hyperlinks flere stedet, hvilket gør at man kan skrive mere
tekst uden at det kommer til at se dumt ud.
/Brian
| |
Ukendt (23-12-2005)
| Kommentar Fra : Ukendt |
Dato : 23-12-05 14:18 |
|
Hej igen.
"Tiscali" <x@x.x> skrev i en meddelelse
news:6FSqf.3206$Cl2.92308@news000.worldonline.dk...
> Hej igen,
>
> pæn håndskrift *s*.
Tak eller...
> Nu findes der ikke noget rigtig og forkert. Der findes kun god og dårlig
> fungerende skærmbilleder (o;
>
> En ting jeg synes, at man skal gøre sig klart er, om man har brug for de
> forskellige skærmkontroller. Altså, bare fordi der findes en
> værktøjslinie, har man så brug for den? Vil du bare have den med fordi den
> er blæret? Eller er der et faktisk behov for den?
Både - og.
Jeg mener, at et godt program skal have flere muligheder for at udføre en
kommando, således man kan tilfredsstille flest brugere. Nogle foretrækker
menuer, andre værktøjslinier, andre genvejstaster og andre lokalmenuer.
Derfor mener jeg, at det er god skik at have en værktøjslinie, hvis der er
er funktioner til den. Også selvom man allerede kan anvende funktionen ved
at vælge i hvoedmenuen.
> Jeg synes du skal se på det link jeg sendte til dig, dels fordi jeg tror,
> at de programmer der er der, fungerer efter det princip du efterlyser.
> Installerer en Trial version. Skærmbillederne skifter, hvis man trykker på
> knapperne til højre.Og, så fordi, at nogen har gjort arbejdet for dig *s*.
> Jeg synes, at det er en af de bedre skærmdesigns jeg har set længe. Og,
> jeg synes at brugergrænsefladen fungerer upåklageligt... Den er nem at gå
> til og man behøver ikke kalde hjælpen frem for at finde ud af hvad man
> skal gøre i programmet.
Jeg har programmets detaljerede design i mit hoved. Jeg manglede egentlig
bare den tekniske del - om hvad jeg skal bruge. Om det var faneblade, om det
var MDI. design, om det var noget 3.
Men jeg forsøger mig med faneblade - og siger mange tak for dine input. De
var inspirerende og lærerige.
| |
Ukendt (23-12-2005)
| Kommentar Fra : Ukendt |
Dato : 23-12-05 14:40 |
|
"Kent N" <IngenSpamTak> skrev i en meddelelse
news:43abf90e$0$12401$ba624c82@nntp02.dk.telia.net...
> Men jeg forsøger mig med faneblade - og siger mange tak for dine input. De
> var inspirerende og lærerige.
Det giver mig dog et nyt problem.
Jeg har anvendt komponenten Pagecontrol og placeret mine tabs / knapper til
venstre.
Her bliver teksten på knapperne skrevet lodret.
Jeg har dog ikke kunnet finde en metode, hvorpå knappernes tekst skrives
vandret eller der kan kommer ikoner OG tekst på knapperne.
Kan det overhovedet lade sig gøre - eller skal jeg bare lede videre?
| |
Tiscali (23-12-2005)
| Kommentar Fra : Tiscali |
Dato : 23-12-05 15:02 |
|
Ja, standard Delphi Controls er lidt begrænset. Kig på
http://www.delphi-jedi.org/. Der er et hav af gratis' komponenter. Der er
blandt andet også en PageControl, som kan venstre stille Tabs'ene og vende
teksten vandret i stedet for lodret, som du efterlyser.
Jeg har skitseret en løsning, som du måske kan bruge.
A.
1. Opret et tom Delphi applikation.
2. Kopier første del fra denne mail ind på klippe bordet.
3. Når skærmbillede designeren i Delphi er oppe trykker på Alt-F12.
4. Slet alt hvad der står.
5. Kopier den del du har på i klippe bordet ind. Tryk Alt-F12 igen. Og,
viola. Du har et skærmbillede.
B.
Kopier koden fra Delphi to ind over Unit1.pas.
Prøv at kør....
Endnu en gang god jul.
/Brian
1. Del:
object Form1: TForm1
Left = 330
Top = 114
Width = 525
Height = 415
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object PageControl: TPageControl
Left = 104
Top = 16
Width = 401
Height = 337
ActivePage = TabSheet1
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'TabSheet1'
object Label1: TLabel
Left = 8
Top = 8
Width = 37
Height = 13
Caption = 'Sheet 1'
end
end
object TabSheet2: TTabSheet
Caption = 'TabSheet2'
ImageIndex = 1
object Label2: TLabel
Left = 8
Top = 8
Width = 37
Height = 13
Caption = 'Sheet 2'
end
end
object TabSheet3: TTabSheet
Caption = 'TabSheet3'
ImageIndex = 2
object Label3: TLabel
Left = 8
Top = 8
Width = 37
Height = 13
Caption = 'Sheet 3'
end
end
end
object Button1: TButton
Left = 16
Top = 16
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
object Button2: TButton
Left = 16
Top = 48
Width = 75
Height = 25
Caption = 'Button2'
TabOrder = 2
OnClick = Button2Click
end
object Button3: TButton
Left = 16
Top = 80
Width = 75
Height = 25
Caption = 'Button3'
TabOrder = 3
OnClick = Button3Click
end
object StatusBar1: TStatusBar
Left = 0
Top = 362
Width = 517
Height = 19
Panels = <>
end
end
2. Del:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
PageControl: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
TabSheet1.TabVisible := False;
TabSheet2.TabVisible := False;
TabSheet3.TabVisible := False;
PageControl.ActivePageIndex := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PageControl.ActivePageIndex := 0;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
PageControl.ActivePageIndex := 1;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
PageControl.ActivePageIndex := 2;
end;
end.
| |
Uffe Kousgaard (23-12-2005)
| Kommentar Fra : Uffe Kousgaard |
Dato : 23-12-05 16:24 |
|
"Tiscali" <x@x.x> wrote in message
news:FpTqf.3209$Cl2.92424@news000.worldonline.dk...
> Endnu en gang god jul.
>
> /Brian
Kan du ikke rette dit navn, så der ikke står Tiscali?
hilsen
Uffe
| |
Brian Andersen \(www~ (27-12-2005)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 27-12-05 07:56 |
|
Hej Uffe,
hermed gjort....
/Brian
| |
Ukendt (27-12-2005)
| Kommentar Fra : Ukendt |
Dato : 27-12-05 19:58 |
|
"Tiscali" <x@x.x> skrev i en meddelelse
news:FpTqf.3209$Cl2.92424@news000.worldonline.dk...
> Ja, standard Delphi Controls er lidt begrænset. Kig på
> http://www.delphi-jedi.org/. Der er et hav af gratis' komponenter. Der er
> blandt andet også en PageControl, som kan venstre stille Tabs'ene og vende
> teksten vandret i stedet for lodret, som du efterlyser.
>
> Jeg har skitseret en løsning, som du måske kan bruge.
Hej.
Tak for det.
Jeg har faktisk aldrig "tænkt" på PageControllen kunne styres på denne måde.
Altså ved at skjule tabs'ne og i stedet lade buttons afgøre hvilken side,
der skulle være aktiv.
Endnu engang var det lærerigt at høre fra dig.
Fortsat god bag(h)jul.
| |
Brian Andersen \(www~ (28-12-2005)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 28-12-05 09:34 |
|
Godt at høre, at du kunne bruge det.
Godt nyt (h)år
/Brian
| |
Tiscali (23-12-2005)
| Kommentar Fra : Tiscali |
Dato : 23-12-05 14:45 |
|
Hej igen,
lige en på falderebet inden julen.
Lig mærke til hvor der anvendes værktøjslinier. De bruges eksempelvis i Word
og Delphi. Her kan man kategorisere meget af arbejdet. Word har eksempelvis
kun en indgangsvinkel - man kan indtaste tekst. Tager du Delphi, så kan du
både programmere og designe skærmbilleder. Her synes jeg, at man kan bruge
en værktøjslinie. Meeen, har man et program, som har mange forskellige
tilgangsvinkler og disse intet fælles adfærd har, så synes jeg at en
værktøjslinie er overflødig. Fælles adfærd kunne være: åbne en fil, gemme
ændringer, opret ny, osv. I word er der kun en tilgangsvinken og her er der
derfor behov for at kunne ændre skrifttype, osv.
Jeg håber du finder ud af det.
God jul og godt nytår.
/Brian
| |
|
|