Hallo Bernd,
Ich melde mich 'endlich' wieder einmal, war während den letzen Tagen nicht oft zu Hause.
Deine Ergänzungen sind in der letzen Version mit drin.
Die Minimierung habe Ich so gemacht (für mich des erste mal)
NotifyIcon funtioniert bei mir nicht auf dem PPC. Habe das Programm test3.sbp von dzt ausprobiert, funktioniert auf dem Desktop aber nciht auf dem PPC (WM2003).
Anweisung FullScreen2(true,true)
1. true Menüleiste weg
2. true Titelleiste weg
FullScreen2(false,false) bringt nichts.
Wenn die Titelleiste weg ist und man die Harware.ShowTodayScreen Funktion verwended wird nur die Titelleiste vom Todayscreen angezeigt. Man muss daher erst wieder die Titelleiste anzeigen bevor man die Harware.ShowTodayScreen Funktion verwendet.
Das geschiet mit DoorLib Objekten (Code von Erel):
obj.SetProperty("MaximizeBox",true)
obj.SetProperty("ControlBox",true)
obj.SetProperty("FormBorderStyle","Sizable")
obj.SetProperty("WindowState","Normal")
Hardware.ShowTodayScreen
Wenn man eine Taskbar hat wird das Icon von CadElec dort angezeigt.
Wenn man in der Taskbar auf das CadElecIcon klickt kommt das CadElecFenster wieder, aber leider mit der Titelleiste.
Mit dem DoorLib Event (CadElecForm) frmMain Activated kann man wieder FullScreen2 verwenden. Bei mir funktioniert es.
Sub evtFormActivated_NewEvent
If CPPC= true AND ToDayScreen=1 Then
frmlib.FullScreen2(true,true)
ToDayScreen=0
End If
End Sub
Das Symbolhighlighten funktioniert so:
Die Symbolbilder haben einen rosa Hintergrund.
Mit der Drawer.DrawImage1 Funktion kann man angeben ob man das Bild transparent zeichnen will oder nicht.
Mit Drawer.SetTransparentColor1(Rgb(255,0,255)) kann man die Transparentfarbe, in unserem Fall rosa, angeben.
Transparent zeichnen heisst dass alle Pixel mit der Transparentfarbe durch das Hintergrundpixel ersetzt werden, in unserem Fall weiss für die Zeichnung. Wenn wir dies auf alle Symbole erweitern wollen müssen die Symbolbildhintergründe auf rosa geändert werden.
In den Symbolpanels habe Ich die Image Controls durch ImageButtons ersetzt denn bei diesen kann man eben auch die Buttonbilder transparent zeichnen, in diesem Fall ist die Farbe des linken oberen Pixels die Transparentfarbe. Diese Möglichkeit verwende Ich ja auch mit den andern ImageButtons um anzuzeigen welcher Button aktiv ist. Das ist auch der Grund warum die Eckpunkte der Rahmen der Buttonbilder weiss sind und nicht schwarz.
Das Problem in der DrawText Routine ist behoben, war ein Fehler drin. Ich hatte für die Symbole den
SymbolIndex anstatt des Bildindexes benützt.
imageBeschrift = SubString(ArrayList1.Item(j) . . .
durch
imageBeschrift = SubString(ArrayList1.Item(ImageType(j)) . . .
ersetzt.
In der letzten Version musst du die Bilder für die zusätzlichen Buttons beifügen, die habe Ich nicht, habe einfach provisorische zugefügt. Deine Sprachtextdateien musst Du auch reinladen.
Habe die Minimize und Exit Buttons verkleinert und ein bisschen mehr an Windows angepasst, kannst es ja wieder Rückgängig machen falls es Dir nicht gefällt.
Habe eine Variable für die Beschriftungscheckbox dazugegebn und in der CadElec.ini Datei gespeichert.
Habe das ContextMenu rausgenommen und den Button btn9 auch denn das nützt ja nichts mehr mit dem neuen SetupConfigPanel.
btn12 in ToolBar_Click integriert.
Vorläufig notlfyicon Routinen entfernt, hast Du einen TaskManager. ich hatte keinen, habe aber jetzt einen, ist ganz praktisch.
In der Routine ToolBar_Click finde Ich etwas komisch.
Case "btn1" ' New
btn1.Transparent=false
Txt=Text(33)&crlf&Text(34)&crlf&Text(35)&crlf&Text(36)
Answ=Msgbox(Txt,Text(9),cMsgBoxYesNoCancel,cMsgBoxQuestion)
Select Answ
Case cYes
NewSketch=1
[COLOR=Red]sketchNb=0[/COLOR]
sketchNb=SketchNb+1
Die Zeichnungnummer ist IMMER 1 denn Du bringst jedesmal die Nummer auf 0 und addierst 1.
Habe es geändert, sketchNb=SketchNb+1 ist jetzt in der btnSketchDataOK_Click Routine, denn wenn der
Benützer eine neue Zeichnung nicht bestätigt wird dieNummer auch nicht erhöht.
LoadCAD ein bisschen geändert.
Wie hast du das mit den ersten Symbolpanel gemacht, das transparentschalten und so. Ich würde es gerne erstmal wegschalten, weil die symbole nicht richtig dargestellt werden.
Was meinst Du mit 'weil die Symbole nicht richtig dargestellt werden ?
Grüsse.