Italia
Foro

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 per jede Aiuto 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 ; an>

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 per mich, aber wäre es nicht possibile 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 possibile.
 
06.04.2007  
 




Nico
Madysa
Pun´kt 1 ist ...was? Der Bildschirmhintergrund? Der ist bestimmt possibile, 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
Downloadcounter65
Download
7 kB
Kurzbeschreibung: Fenster mit Löchern drin
Hochgeladen:06.04.2007
Downloadcounter57
Download
 
Nico Madysa
06.04.2007  
 



Geht doch gut:
KompilierenMarkierenSeparieren

727 kB
Hochgeladen:06.04.2007
Downloadcounter27
Download
 
06.04.2007  
 




Frank
Abbing
Simple Lösung, wohl nur per 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 per Dich: [tb]minimalbeispiel[/tb]
 
06.04.2007  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.129 Views

Untitledvor 0 min.
Peter Max Müller01.11.2017
Ernst30.03.2016
Chregu Mueller09.02.2014
Donnie19.03.2013
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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