Eigenschaften der Taskleiste editieren
-
Hast Du Vollbild so aufgerufen?
Normal maximieren hat bei mir auch den Efekt, den Du beschrieben hast.Form1->Top=0; Form1->Left=0; Form1->Height=Screen->Height; Form1->Width=Screen->Width;
-
Also ich habe es unter anderem über die Settings des Formulars probiert.
Ergebnis = Geht nicht!Dann habe ich folgendes probiert:
nBreite = GetSystemMetrics( SM_CXSCREEN ); nHoehe = GetSystemMetrics( SM_CYSCREEN ); frmChild_OS->Top=0; frmChild_OS->Left=0; frmChild_OS->Height=nHoehe; frmChild_OS->Width=nBreite;Ergebnis = Geht nicht!
Daraufhin habe ich das hier probiert:
SetWindowPos(frmChild_OS->Handle, HWND_TOPMOST, 0, 0, 1280, 1024, SWP_SHOWWINDOW);Ergebnis = Geht auch nicht!
Nur um mal 3 Beispiele meiner Versuchsreihe hier aufzuzeigen
!
-
Letzte Idee von mir:
BorderStyle = bsNone; WindowState = wsMaximized; FormStyle = fsStayOnTop; BringToFront();funktioniert bei mir auf 2 Rechnern
-
Tja...
wie ich schon erwähnte (Also ich habe es unter anderem über die Settings des Formulars probiert.) funktionierte das ganze bei mir leider nicht!Ein letzter Gedanke dazu....
Wann schaltest du die Taskleiste weg und wann setzt du die Properties?Ich habe es bis jetzt im Constructor des Fensters und im OnAcivate-Ereignis probiert, vielleicht liegt da ja mein Fehler?
-
Bei mir funktioniert folgendes im Konstruktor:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { int x, y; x = Screen->Width; y = Screen->Height; Top = 0; Left = 0; Width = x; Height = y; FormStyle = fsStayOnTop; BorderIcons = BorderIcons >> biMaximize; }Der Haken an der Sache dürfte sein, dass nur ein Formular fsStayOnTop sein darf, damit das funktioniert.
Außerdem: Programme, die meine Vorgaben nicht berücksichtigen, werden von mir umgehend wieder deinstalliert. Und ich will die Taskleiste sehen, auch wenn ich Programme maximiere. Dein Programm würde meine Einstellungen ignorieren...
-
Hi Joe_M.,
deinen Vorschlag hatte ich bereits getestet und das funktionierte leider nicht bei mir!
Zu deiner Aussage mit deinen Vorgaben.... STIMMT!
Allerdings schreibe ich gerade eine Desktopoberfläche. Deren Zweck ist es unter anderem die Benutzer nur auf die Ebene dieser Desktopoberfläche zu lassen. Deswegen muß die Taskleiste weg! Ist halt ne spezielle Anwendung für einen speziellen Bereich und dort ist es halt so gewünscht.
Gruß
N8Wolf
-
Es gibt einen Bug beim BCB, den man sich zugute machen kann, einfach
Position = poScreenCenter;zusätzlich setzen.
Wenn das Fenster nachträglich in der Größe nicht mehr verändert werden soll, dann noch die Eigenschaften
BorderIcons == BorderIcons >> biMinimize >> biMaximize; // also weder Min noch Max BorderStyle = bsSingle; WindowState = wsMaximized;setzen.
-
versuch mal folgendes im Konstruktor vom Form:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE); dwExStyle |= WS_EX_TOOLWINDOW; SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle); WindowState = wsMaximized; BorderStyle = bsSingle; }
-
Hallo Th und Linnea,
vielen Dank für eure Beiträge.
Leider funktionieren auch eure beiden Vorschläge nicht.
Ich blende im Konstruktor die Taskleiste aus und wenn ich euren Code ausführe, dann ist dort wo die Taskleiste war immer noch der Desktop zu sehen.... Scheinbar reserviert Windows diesen Bereich explizit für die Taskleiste, ob die nun da ist oder nicht. Was ich dabei nicht begreife ist die Tatsache, dass jeder Bildschirmschoner die Taskleiste entfernen kann....Ich befürchte langsam ich muss wirklich an die Eigenschaften der Taskleiste gehen, konnte dazu aber wie gesagt bis jetzt nichts finden.
Gruß Georg
-
N8Wolf schrieb:
....
Allerdings schreibe ich gerade eine Desktopoberfläche. Deren Zweck ist es unter anderem die Benutzer nur auf die Ebene dieser Desktopoberfläche zu lassen. Deswegen muß die Taskleiste weg! Ist halt ne spezielle Anwendung für einen speziellen Bereich und dort ist es halt so gewünscht.
Gruß
N8WolfDa muss man nichts programmieren. Das lässt sich alles über Windows konfigurieren.
Seit neustem gibts es dafür von MS das "Shared Computer Toolkit", welches extra für den einfachen Einsatz von XP im sogenannten "Kiosk-Modus" gemacht ist.
Das Toolkit habe ich noch nicht getestet, ohne dieses sind einige Registry-Kniffe notwendig, vieles geht aber auch über die Rechteverwaltung.
-
Hallo Fincki,
ja ich weiss, dass ich an meinem Rechner nichts programmieren muss!
Was hier aber entwickelt wird ist eine Desktopoberfläche für DAUs.Es gibt 3 Möglichkeiten:
-
Du verkaufst jedem Kunden das "Shared Computer Toolkit" und ne ellenlange Anleitung wie alles einzurichten ist, und wie alle für diese User zu benutzenden Programme, welche von dir kommen, installiert und eingerichtet werden.
-
Du schreibst ne mordslange Anleitung wie das über die Registry und die Rechteverwaltung gemacht wird und wie alle für diese User zu benutzenden Programme, welche von dir kommen, installiert und eingerichtet werden.
-
Du gehst bei und entwickelst eine Oberfläche, die selbst ein DAU installieren kann, in der alles enthalten ist....
Ich denke ich hab da die elegantere Lösung getroffen!

Gruß N8Wolf
-
-
der Quellcode den ich gepostet habe funktioniert ohne das zusätzliche ausblenden der Taskleiste, versuchs einfach mal in einem leeren/neuen Projekt, eventuell trifft das auch auf die anderen Beiträge zu und nur das alles-aufeinmal-ins-Projekt-packen-ewas-gehen-könnte führt zu diesen eigenartigen Effekten
-
Linneaich hab das eben mal auch ausprobiert, und bei mir bleibt meine Taskleiste auch im Projekt. Es liegt also nicht an ihm

-
ok, ich hatte etwas vergessen bzw. nur im Objektinspektor eingestellt:
bei den BorderIcons müssen Minimize und Maximize raus, also__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE); dwExStyle |= WS_EX_TOOLWINDOW; SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle); BorderIcons == BorderIcons >> biMinimize >> biMaximize; WindowState = wsMaximized; BorderStyle = bsSingle; }wobei dann auch der Quellcode von Th reichen sollte
-
Joe_Ms Vorschlag funktioniert bei mir (XP Pro). Beachte, dass dabei das Fenster nicht maximiert werden darf.
-
Sorry, aber egal wie ich es handhabe, es funktioniert mit deinem Weg bei mir definitiv nicht. Trotzdem natürlich vielen dank für deine Hilfe.
@Morris:
Danke für den Tip.... Das wars! Nachdem ich auf wsnormal gestellt habe funktionierte der Vorschlag von Joe_Ms tatsächlich.
Danke für eure Hilfestellung! Ohne euch ist man manchmal echt aufgeschmissen!