Deutsch
Forum

Fenster ohne Titelzeile und ohne Menü trotzdem verschieben?

 

Edwin
Camdzic
Hi,

mich hat das Vista Design so fasziniert, dass ich es in meine XP-Programme einbauen will. Aber es hängt da scho ganz am Anfang. Denn den Aero Effekt habe ich schon hinbekommen, man kann dafür aber das Fenster nicht verschieben (blöd). Jetzt bräuchte ich bitte einen, der mir sagt wie ich ein Fenster ohne Titelzeile und ohne Menüleiste verschieben kann. Bin für jede Hilfe dankbar.

Danke im Vorraus!

Um Aero hinzubekommen, benutzt das Fenster den Desktop als Hintergrund. Wenn man das Fenster jetzt verschieben würde, so würde doch der Hintergrund der alte sein und sich nicht aktualisieren? Kann man dagegen auch etwas machen?

bye
 
06.04.2007  
 




Nico
Madysa
Hmm, gundsätzlich kann man nichts dagegen tun, aber du könntest das Fenster außerhalb des Bildschirms erstellen. Anschließend kopierst du den Desktop als Bitmap in die Memory-Bitmap und müsstest bei jeder Fensterverschiebung den Inhalt aktualisieren.
KompilierenMarkierenSeparieren
declare randbreite% , randhoehe%
Window %MaxX , %MaxY - 0 , 0
MCls %MaxX , %MaxY
StartPaint %Desktop
CopyBmpToMem 0 , 0 - %MaxX , %MaxY > 0 , 0
EndPaint
SetWindowPos %hWnd = 0 , 0 - 640 , 480
randbreite% = (%WinRight - %WinLeft - width(%hWnd)) / 2
randhoehe% = (%WinBottom - %WinTop - height(%hWnd)) / 2
MCopyBmp (%WinLeft + randbreite%) , (%WinTop + randhoehe%) - width(%hWnd) , height(%hWnd) > 0 , 0 ; 0

Habs jetzt nur in aller Schnelle zusammengetippt, testen müsstest du es allein.
 
Nico Madysa
06.04.2007  
 




Frank
Abbing
In jedem Fall musst du dein Fenster subclassen, damit du auf diverse Messages reagieren kannst, bevor sie wirken. Im Subclassing reagierst du entsprechend auf Maustaste und Bewegung des Zeigers, um dein Fenster selber zu verschieben.
Ich rate dir dazu, das Subclassing mittels XPIA vorzunehmen, weil Profancode einfach zu langsam wäre und dein Fenster nachher ins Stottern geräte.
Das ist auch der Grund, warum ich überhaupt zum Subclassing rate. Profan reagiert zu träge und leider gehen auch immer Messages verloren, was in deinem Fall aber nicht passieren darf.
 
06.04.2007  
 




Edwin
Camdzic
An Nico Madysa, das mit dem Hintergrun habe ich jetzt so irgendwie verstanden, ist eh nicht so schwer. Danke.

Zu Frank Abbing, ich bin kein wirklich guter Programmierer, das wäre wahrscheinlich zu hoch für mich, aber wäre es nicht möglich während des verschiebens, den Fensterinhalt zu löschen und beim loslassen der Maus ihn wieder aufzubauen?

Wenn du mir bitte zeigen könntest, wie man mit dem ProfanCode machen würde wäre es sehr nett, denn die Anwendung ist nichts sehr anspruchvolles, nur füe Eigengebrauch. (d.h. stottern macht nichts)

Danke!
 
06.04.2007  
 




Nico
Madysa
Hab den Schwachpunkt in meinem Code schon gefunden; der Hintergrund darf nicht verändert werden.
 
Nico Madysa
06.04.2007  
 



Momentmal - ich finde alle hier vorgeschlagenen Lösungen unrichtig - das Ganze geht sogar sehr einfach! Ich werd mal sowat hinpinseln und hier den code posten.

Punkt eins ist also einfach - Punkt 2 ist jedoch nicht möglich.
 
06.04.2007  
 




Nico
Madysa
Pun´kt 1 ist ...was? Der Bildschirmhintergrund? Der ist bestimmt möglich, und Punkt 2, das Umherschieben ohne Titelleiste garantiert auch, ich hab da schonmal so einige Codesnippets gesehen. Mal gucken...
 
Nico Madysa
06.04.2007  
 




Nico
Madysa
So, hier hab ich zwei Codes gefunden, gucke mal, ob sie deine Zwecke erfüllen.

1 kB
Kurzbeschreibung: Fenster mit Klick verschieben
Hochgeladen:06.04.2007
Ladeanzahl65
Herunterladen
7 kB
Kurzbeschreibung: Fenster mit Löchern drin
Hochgeladen:06.04.2007
Ladeanzahl57
Herunterladen
 
Nico Madysa
06.04.2007  
 



Geht doch gut:
KompilierenMarkierenSeparieren

727 kB
Hochgeladen:06.04.2007
Ladeanzahl27
Herunterladen
 
06.04.2007  
 




Frank
Abbing
Simple Lösung, wohl nur für ein kleines Testprogramm gut. Während des Verschiebens kommen keinerlei Fenstermessages mehr an. Hättest zumindest einen Timer einsetzen können.
Eine vernünftige Lösung beinhaltet Subclassing, alles andere bringt nicht viel ausser Problemen, sobald das Programm wächst..
 
06.04.2007  
 




Edwin
Camdzic

KompilierenMarkierenSeparieren
Habs mit diesem Code geschafft, hängt aber noch mit dem Hintergrundbild, es will sich nicht aktualisieren .
 
06.04.2007  
 



Tjah - hätteste meinen Code genommen könntest den leicht ausbauen. Ansonsten gilt auch für Dich: [tb]minimalbeispiel[/tb]
 
06.04.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.042 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller01.11.2017
Ernst30.03.2016
Chregu Mueller09.02.2014
Donnie19.03.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie