AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dreiecke

Ein Thema von Amateurprofi · begonnen am 23. Jul 2007 · letzter Beitrag vom 25. Nov 2017
Antwort Antwort
Seite 2 von 3     12 3      
Amateurprofi
Registriert seit: 17. Nov 2005
Ich hab mich ein wenig mit Dreiecken beschäftigt.
Das Resultat ist im Anhang. Vielleicht kann der eine oder andere Nutzen daraus ziehen.

Im Hauptfenster wird kontext-sensitive Hilfe unterstützt - also Mauszeiger auf das Objekt zu dem man was wissen will und F1 drücken. Mit Strg-F1 gehts auf die Haupseite des Helpfiles.

Integriert ist ein kleiner Parser zur Auswertung numerischer Ausdrücke, der eigentlich nur gedacht war, die im Helpfile gezeigten Formeln zu prüfen, der aber dann ein gewisses Eigenleben entwickelt hat und dehalb zu gegebener Zeit als separates Programm veröffentlicht wird. @marabu : Darauf bezog sich meine Frage zu Zeilenwechsel beim TMEMO.

Änderung 25.11.2017
Ich habe vor einiger Zeit festgestellt, dass die ursprüngliche Version (stammt aus 2007) bei mir nicht mehr richtig lief (Komponenten lagen teilweise außerhalb des Programmfensters). Ich hab dann neu kompiliert, aber seinerzeit vergessen die geänderte Version hier reinzustellen.
Die neue Version heißt Dreieck.zip.
Angehängte Dateien
Dateityp: zip dreieck_813.zip (447,8 KB, 87x aufgerufen)
Dateityp: zip Dreieck.zip (854,9 KB, 16x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....

Geändert von Amateurprofi (25. Nov 2017 um 01:56 Uhr)
 
Amateurprofi

 
Delphi XE2 Professional
 
#11
  Alt 24. Jul 2007, 21:21
Zitat von jmit:
Warum läßt Du nicht zu, dass man das Fenster minimieren kann?

Gruß Jörg
Hab ich ausgeschaltet, weil ich dachte, daß das Probleme mit sich bringt wenn bei den Constraints MinHeight und MinWidth definiert sind. Das scheint aber nicht der Fall zu sein.
Werd ich ändern.

@bitsetter
Der Bereich in dem das Dreieck gezeichnet wird, ist eine PaintBox.
Kannst Du mir erklären, wie das mit Doublebuffered funktioniert - ich hab das noch nie benutzt. Danke.
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#12
  Alt 24. Jul 2007, 21:44
Zitat von xZise:
Zitat von Amateurprofi:
Zur Checkbox statt 2 Menu Items.
Geht nicht.
Das Menu ist dafür gedacht, z.B. alle Linien eines Typs aus- oder einzublenden.
Es ist aber möglich für jede Linie separat festzulegen, ob sie gezeigt werden soll oder nicht.
Wenn nun z.B. gerade 2 der Mittelsenkrechten gezeigt werden und eine nicht - was soll dann die Checkbox zeigen ?
Das müsste kein Problem sein. Heißt das Menüitem beispielsweise "miHalbierende", dann musst du bei OnClick überprüfen, ob das gesetzt ist:
Delphi-Quellcode:
procedure ...
begin
  if miHalbierende.Checked then
    ShowHalbierende
  esle
    HideHalbierende;
end;
Als ich schrieb "das geht nicht", ging es mir nicht um die Frage wie ich ein MenuItem auf checked oder unchecked setze, oder darum auf ein gechecktes bzw. ungechecktes zu reagieren, sondern um folgendes.
Mit den Menueinträgen kann man alle Linien eines Typs, also zum Beispiel alle Winkelhalbierenden ein- / ausblenden.
Es gibt aber andere Wege, gezielt eine bestimmte Winkelhalbierende auszublenden, die beiden anderen aber unverändert zu lassen.
Somit sind 6 verschiedene Zustände möglich.
Mit einem Check im MenuItem sind aber nur 2 dieser Zustände darstellbar.
Nehmen wir an Wa=sichtbar, Wb=sichtbar, Wc=nicht sichtbar.
Wie soll dann der Status des Menuitems sein ?
Checked wäre falsch, denn es sind nicht alle sichbar.
Unchecked wäre ebefalls falsch, denn es sind nicht alle unsichtbar.
Folglich : Geht nicht
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#13
  Alt 24. Jul 2007, 21:47
Zitat von WS1976:
Hallo,

wieder mal ohne Quellcode. Geb ich keinen Kommentar zu.

Grüsse Rainer
Da du fundiertes Halbwissen hasst, wird es für dich sicherlich kein abendfüllendes Problem sein, so ein Pipifax-Programm selbst zu schreiben. Wozu also brauchst du den Quellcode ?
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#14
  Alt 24. Jul 2007, 21:58
Zitat von "xZise:
Gibt es ein "Mouseshortcut" zum Drehen/Zoomen?

Und einen kleinen visuellen Bug :) Und zwar bekomme ich (mit Luna) rechts eine Scrolleiste
MouseShortcuts zum drehen/zoomen :
nein, entweder Scrollbar oder Tastatur

Und einen kleinen visuellen Bug :) Und zwar bekomme ich (mit Luna) rechts eine Scrolleiste :
Wo genau kommt rechts eine Scrollleiste ?
  Mit Zitat antworten Zitat
Hawkeye219

 
Delphi 2010 Professional
 
#15
  Alt 24. Jul 2007, 23:33
Hallo Klaus,

das ist ein sehr schönes (und mächtiges) Programm, welches du mit viel Liebe zum Detail gestaltet hast. Zwei Kleinigkeiten sind mir aufgefallen: beim "OK"-Button im Test-Dialog und bei beiden Buttons im Parser-Dialog solltest du die vertikalen Anchors korrigieren.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

 
Turbo Delphi für Win32
 
#16
  Alt 24. Jul 2007, 23:35
Zitat von Amateurprofi:
@bitsetter
Der Bereich in dem das Dreieck gezeichnet wird, ist eine PaintBox.
Kannst Du mir erklären, wie das mit Doublebuffered funktioniert - ich hab das noch nie benutzt. Danke.
Hallo,

also eine Paintbox ich dachte ein TImage, du kannst ja mal versuchen im onCreate Event PaintBox1.Parent.DoubleBuffered:= true; aufzurufen.

Ansonsten könnte man das Problem noch mit einem Hier im Forum suchenOffScreenBitmap lösen. Da werden die einzelnen Kreise und Linien auf ein Bitmap im Speicher gezeichnet und dann wird das gesamte Bild im onPaint Event zum Beispiel mit BitBlt() in die Paintbox gezeichnet.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#17
  Alt 25. Jul 2007, 10:07
Zu den visuellen Bug hab ich mal ein Screenshot angehangen.

Zitat von Amateurprofi:
MouseShortcuts zum drehen/zoomen :
nein, entweder Scrollbar oder Tastatur
Wäre das noch irgendwie möglich

[edit]Ein Tipp: Editiere Beiträge welche innerhalb von 24h geschrieben worden sind! Ansonsten kannst du Probleme mit den Mods bekommen [/edit]
Miniaturansicht angehängter Grafiken
dreiecke_456.png  
Fabian
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#18
  Alt 25. Jul 2007, 13:28
Zitat von Hawkeye219:
Hallo Klaus,

das ist ein sehr schönes (und mächtiges) Programm, welches du mit viel Liebe zum Detail gestaltet hast. Zwei Kleinigkeiten sind mir aufgefallen: beim "OK"-Button im Test-Dialog und bei beiden Buttons im Parser-Dialog solltest du die vertikalen Anchors korrigieren.

Gruß Hawkeye
Danke, Hawkeye.
Die Buttons hab ich nachträglich hinzugefügt (weil es machem lästig ist, das kleine x in der Titelzeile zu "suchen") und habe dann nicht mehr an Anchors gedacht. Werde ich ändern.
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#19
  Alt 25. Jul 2007, 14:28
Ich habe ein paar Änderungen durchgeführt.

@bitsetter:
PaintBox.Parent.DoubleBuffered auf True gesetzt.

@Hawkeye:
Anchors bei den Buttons korrigiert.

@xSize:
Das Problem mit der Scrollbar scheint an einem Delphi-Bug zu liegen.
Ich hatte während der Programmentwicklung oft das Problem, daß dann, wenn ich in den Design-Modus ging, alle Komponenten, bei denen bei den Anchors Bottom=True ist, ein Stück nach oben rutschten.
Dieses Problem tritt bei mir immer dann auf, wenn ein Formular ein MainMenu hat und bei Komponenten Anchors.Bottom True ist.
Ich hatte hierzu schon mal eine Anfrage gestartet, leider ohne Resonanz.
Siehe hier
Ich vermute einen Zusammenhang mit der bei dir erscheinenden Scrollbar.
Workaround:
Im Design-Modus haben jetzt alle Komponenten Anchors.Bottom=false und werden erst im OnCreate auf True gesetzt.
Vielleicht hilft das.
Über die Möglichkeit Drehen/Größe ändern mit der Maus werde ich nachdenken.
Angehängte Dateien
Dateityp: zip dreieck_132.zip (447,8 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

 
Lazarus
 
#20
  Alt 25. Jul 2007, 14:44
Sehr schönes Programm. Ja, mehr kann man echt nicht sagen. Gefällt mir auch mit den Hovern und allem. Was allerdings zu verbessern wäre: Das Formelzeichen der Fläche ist nicht "F" sondern "A" wie Area(l).
Jakob
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz