Autor |
Beitrag |
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Do 26.05.05 11:41
Dann kannst du dein Problem mit nem Panel lösen.
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Do 26.05.05 11:41
Fabian W. hat folgendes geschrieben: | Mann müsste jetzt halt wissen ob er was per Tastatur reinschreiben will. |
Warum das denn? Das geht auch per Tastertur. Du überschreibst die EingabeRoutine der Komponente und lässt darin zb nur 1,2,3,4,5,6,7,8,9,0,+,-,*,/ zu und der rest wird ignoriert und in den Ereignissen machste das selbe wie bei nem buttonklick....
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Do 26.05.05 11:43
Nein, das war nicht gemeint, da mein Lösungsvorschlag n Panel is, in das man per Tastatur nix reinschreiben kann (zumindeest nicht ohne Code  ).
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Do 26.05.05 12:04
Fabian W. hat folgendes geschrieben: | Nein, das war nicht gemeint, da mein Lösungsvorschlag n Panel is, in das man per Tastatur nix reinschreiben kann (zumindeest nicht ohne Code ). |
Ohne Code geht gar nix
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Do 26.05.05 12:05
Zitat: | Ohne Code geht gar nix |
Wohl wahr.
Zitat: | Mathias
Quod licet Jovi, non licet bovi. |
Wer ist der Ochse?
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Do 26.05.05 12:07
Quod licet Jovi, non licet bovi heißt so viel wie "Was dem Jupiter erlaubt ist, ist einem Ochsen noch lange nicht erlaubt."
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Do 26.05.05 14:05
Weis ich doch, so blöd ebin ich dann doch net. Ich wollte wissen ob du jemanden bestimmtes mit dem Ochsen meinst.
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Fr 27.05.05 08:11
Ja ich bin Jupiter und alle Anderen sind Ochsen
Ne Quatsch hatte keinen bestimmten gemeint. Von mir aus kann ich den auch ändern...
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Fr 27.05.05 08:17
 ^^. Ok, schluss jetzt mit OT.
Ist das Problem jetzt behoben?
|
|
mehmeh 
      
Beiträge: 97
WIN XP
D5 Prof
|
Verfasst: Fr 27.05.05 08:47
JA also ich werd´s dann wohl doch it nen Panel versuchen.
Danke euch
EDIT: ach mensch,
was mir gerade noch eingefollen ist: ICH könnt ja auch nen Label nehmen. zum anzeigen reicht das völlig. Sieht zwar neicht so schön aus, aber da kann ich ja noch dran arbeiten.
Moderiert von Gausi: Beiträge zusammengefasst.
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Fr 27.05.05 09:50
Das geht, nur is es was rechstbündigkeit betrifft net nagz so flexibel.
|
|
mehmeh 
      
Beiträge: 97
WIN XP
D5 Prof
|
Verfasst: Fr 27.05.05 10:20
Ah ha und was heißt das?
Die Eigenschaft Alignment besitze es doch!
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Fr 27.05.05 10:43
*Blp*. Hups ich revidiere meine Meinung und behaupte das Gegenteil  . Mir war nicht bekannt dass ein Label diese Eigenschaft auch besitzt. Du müsstest nur die Eigenschaft Autosize abschalten (auch net sicher is aber besser).
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 27.05.05 10:51
Hallo,
ein Stringrid als Alternativ-Vorschlag
Folgende Einstellungen am Stringgrid im OI vornehmen:
ScrollBars = ssNone
Options auf goEditing = False
FixedCols und FixedRows = 0
RowCount und ColCount = 1
Width = DefaultColWidth;
Height = DefaultRowHeight;
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| procedure TForm1.FormCreate(Sender: TObject); begin activeControl := Stringgrid1; end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var s : String; aRect : TRect; begin s := StringGrid1.Cells[ACol, ARow]; aRect := Rect; StringGrid1.canvas.brush.color:=clWhite; StringGrid1.canvas.fillrect(rect); dec(rect.right,8); inc(rect.Top,4); DrawText(StringGrid1.Canvas.Handle, PChar(s), Length(s), Rect, DT_Right); StringGrid1.canvas.DrawFocusRect(aRect); end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char); begin if Key in ['0'..'9'] then begin StringGrid1.Cells[0,0] := StringGrid1.Cells[0,0]+Key; key := #0; end else key := #0; end; |
//Edit : Code verbessert, FocusRect wird jetzt überschrieben (XOR).
//Edit2 : KeyPress verändert, jetzt können nur 0 > 9 eingegeben werden.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Zuletzt bearbeitet von Lannes am Fr 27.05.05 11:06, insgesamt 1-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.05.05 11:04
Lannes hat folgendes geschrieben: | Hallo,
ein Stringrid als Alternativ-Vorschlag  |
Der Vorschlag ist nicht  , sondern  .
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Fr 27.05.05 11:08
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Fr 27.05.05 13:23
Erstens wird nur was angezeigt, nix per Tasta eingeb.
Zweitens geht's einfacher und ohne den ganzen Code, der vielleicht bei anderen Verionnen gar net funzt.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 27.05.05 13:55
Zusätzlicher Overhead; 99,9% der Funktionalität der StringGrid Komponente wird nicht gebraucht; das StringGrid eine andere Aufgabe hat; man den Missbrauch von Komponenten und Steuerelementen vermeiden sollte. Und es einfach nur Unsinn ist, da man es mit dem Edit wesentlich einfacher hinbekommt.
|
|
Lannes
      
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Sa 28.05.05 00:19
Hallo, mehmeh hat folgendes geschrieben: | was ist da so schwer zu verstehen?
Ich will, wie bei einem Taschenrechner, meine Zahlen, die ich eingebe rechts anzeigen lassen.
Beispiel
ich geb ne "1" ein und die taucht rechts auf,
dann geb ich ne "2" ein und die "1" schiebt sich nach vorne und die "2" kommt gleich dahinter --> "12"
ist das jetzt klarer? |
genauso sieht es bei der Nutzung des StringGrids aus.
Fabian W. hat folgendes geschrieben: | Erstens wird nur was angezeigt, nix per Tasta eingeb.
Zweitens geht's einfacher und ohne den ganzen Code, der vielleicht bei anderen Verionnen gar net funzt. |
per Tastatur oder wie mehmeh geschrieben hat: "... per Buttonclick" ist eigentlich nicht Thema hier im Thread(siehe Titel), aber kein Problem das im OnClick der Buttons einzubauen.
Bei welchen Versionen soll das nicht klappen? Hier nur Code posten der bei allen Delphi-Versionen lauffähig ist?
Luckie hat folgendes geschrieben: | Zusätzlicher Overhead; 99,9% der Funktionalität der StringGrid Komponente wird nicht gebraucht; das StringGrid eine andere Aufgabe hat; man den Missbrauch von Komponenten und Steuerelementen vermeiden sollte. Und es einfach nur Unsinn ist, da man es mit dem Edit wesentlich einfacher hinbekommt. |
ja, zusätzlicher Overhead usw. ist richtig, stimme Dir bis auf den letzten Satz zu.
-wesentlich einfacher?-
gewünscht war Editfeld wie in einem Taschenrechner =
Ausrichtung rechts, Hintergrundfarbe weiß, Schrift-Farbe schwarz bei Enabled=False(da gab es doch ein paar Threads bzgl Enabled?), nicht möglich den Cursor zu setzen, nicht markieren
Das habe ich mit meinem Code erreicht, ohne eine Komponente zu erstellen.
Wie geht es einfacher ohne neue Komponente?
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Fabian W.
      
Beiträge: 1766
Win 7
D7 PE
|
Verfasst: Sa 28.05.05 07:05
Zitat: | Wie geht es einfacher ohne neue Komponente? |
Is'n Panel für dich neu?
|
|