Start position des fensters festsetzetn

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Ekrits

Betreff: Start position des fensters festsetzetn

BeitragDo, Jan 11, 2007 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Moinmoin,

Ich ha da ma sone frage, kann man die Start position des fensaters irgendwo festsetzen? Hab nämlich durch userlib den rand weggemacht und nun kann man das nur durch Moushit(1) bewegen. wenn ich den befehl änder passiert nix ... is aber auch nicht wirklich mein Problem. Wollte deswegen weils n Tool ist eine feste Startposition unten rechts haben.

Danke im vorraus
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE

ToeB

BeitragDo, Jan 11, 2007 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Variablen x und y Für die Positionen Hass, dann sagst du einfach vor der Haubtschleife:
Code: [AUSKLAPPEN]

x = StartPositionX
y = StartPositionY



Wink
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Ekrits

BeitragDo, Jan 11, 2007 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
is wohl falsch rübergekommen, wollte das komplette fenster verschieben

suche ich eine funktion die das fenster an einer bestimmten stelle anzeigt , net in der mitte , wie üblich, sondern dass das fenster (320x240) unten rechts den rand berührt ohne das ich es per maus verschieben muss
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE
 

flashmaxel

BeitragDo, Jan 11, 2007 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht nur per WinApi. Die Funktion findest du hier : http://msdn.microsoft.com/libr...window.asp

Also schreibst du dir eine .decls Datei dafür um sie in BB nutzen zu können.
Die sieht dann so aus:
Code: [AUSKLAPPEN]
.lib"user32.dll"
MoveWindow(hWnd%,x%,y%,w%,h%,bRepaint%)

Eine extra Dll benötigst du nicht da sowiso jeder die user32.dll hat.
Dann musst du die Funktion in BB nurnoch aufrufen ^^.
Code: [AUSKLAPPEN]
MoveWindow(SystemProperty("AppHWND"),10,10,100,100,1)

Funktioniert so - getestet Wink
Du musst nurnoch die Parameter anpasssen:
hwnd - SystemProperty("AppHWND") ist das BB fenster
x - die neue Xposition
y - die neue Yposition
w - die neue Fensterbreite
h - die neue Fensterhöhe
repaint - soll es neu gezeichnet werde ? 1 = neu zeichnen/ 0= nicht neu zeichnen
Ganz einfach, ich würde dir aber empfehlen bei repaint immer 1 zu nehmen da es sonst zu einem Grafikbug kommt, weil du das fenster immernoch an der alten Position siehst da es ja nicht neu gezeichnet wurde ...

Mfg Max
Real C programmers never die; they cast to void.

Eingeproggt

BeitragDo, Jan 11, 2007 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du machst es in B+

Da wärs ein Kinderspiel:

Code: [AUSKLAPPEN]

fenster=CreateWindow("Name",GadgetWidth(Desktop()-320,GadgetHeight(Desktop()-240,320,240,0,0)
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

Ekrits

BeitragDo, Jan 11, 2007 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
funtzt auf irgendiwe net mit der decls ...

Hab n Ordner gemacht "Blitz3D\Userlibs" darin befindet sich nun die Datei user32.decls und darin steht

Code: [AUSKLAPPEN]
.lib"user32.dll"
MoveWindow(hWnd%,x%,y%,w%,h%,bRepaint%)


sicherheitshalber hab ich ne user32.dll kopie mit in den ordner gepackt.

wenn ich nun in BB da

Code: [AUSKLAPPEN]
MoveWindow


hinschreib, wird der nicht erkannt, wird weder blau noch kennt das programm den befehl net

user32.dll is natürlich vorhanden ^^


EDIT: Hab leider Kein Blitzplus, aber so wie ich das manchma brauch muss ich mir das doch wohl irgendwann ma hohlen. ^^
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE

FreetimeCoder

BeitragDo, Jan 11, 2007 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du die Vollversion von BB? Die Demo unterstützt keine Dlls.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

Ekrits

BeitragDo, Jan 11, 2007 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch hab die Vollversion 2D und 3D enthalten

IDE V1.83
Linker V1.64
Runtime V1.83

EDIT: Die dll "skin.dll" funtzt auch, nur da brauch ich irgendwie keine decls
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE
 

Gerhard

Betreff: Fenster verschieben funktioniert

BeitragDo, Jan 11, 2007 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir klappts prima (B3D Vollversion 1.98).

StepTiger

BeitragDo, Jan 11, 2007 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
hast mal bei der Userlib bei ".lib" ein Leerzeichen dahinter gemacht?
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Ekrits

BeitragDo, Jan 11, 2007 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich hab nun ne Datei namens "User32.decls"

Da drinne steht
Code: [AUSKLAPPEN]
.lib "user32.dll"

Object.AlwaysOnTop[ = lExpr] : "AlwaysOnTop"


das hab ich mir vond er seite geholt:

http://msdn2.microsoft.com/en-us/library/09kxyy01(VS.80).aspx#Mtps_DropDownFilterText

EPS

BeitragDo, Jan 11, 2007 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
am besten du lädtst dir die USER32.DECLS mal von der englischen Seite runter. Hier der Link:

http://www.blitzbasic.com/code...?code=1179

Allerdings sind dort sämtliche API Befehle mit dem Vorsatz "api_" gekennzeichnet. Das von flashmaxel angegebene Codebeispiel müsste also Syntaktisch richtig lauten:

Code: [AUSKLAPPEN]
api_MoveWindow(SystemProperty("AppHWND"),10,10,100,100,1)


ich hoffe das hilft weiter.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

Ekrits

BeitragFr, Jan 12, 2007 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs versucht aber funtzt mit dem movewindow immer noichnet. Aber ich weiß das mein programm *.dll 's lesen kann. Hab ma mit ner anderen .decls datei gemacht und das klappt..

DiverseFunktionen.decls
Code: [AUSKLAPPEN]
.lib "DiverseFunktionen.dll"

GetScreenWidth%():"GetScreenWidth"
GetScreenHeight%():"GetScreenHeight"
SetMousePosition(X%, Y%):"SetMousePosition"
GetCPUSpeed#():"GetCPUSpeed"
SwitchKeyboardLight(Light%):"SwitchKeyboardLight"


(und meine ) user32.decls
Code: [AUSKLAPPEN]
.lib "user32.dll"

api_ActivateKeyboardLayout% (HKL%, flags%) : "ActivateKeyboardLayout"
... (viele weitere befehle)
api_MoveWindow (hwnd%, x%, y%, nWidth%, nHeight%, bRepaint%) : "MoveWindow"
... (noch mehr befehle)


So ich seh kaum unterschiede bis auf das da <befehl> : <befehl> und <befehl>:<befehl> steht, das hab ich ma umgestellt bei user32.dll aber funtzt auch nicht.

wenn ich das "api_" weglass passiert auch nix


wenn ihrs doch schafft mein problem noch zufinden (und vllt auch zulösen) dann seit ihr genial.
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE

EPS

BeitragFr, Jan 12, 2007 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
komisch, also bei mir gehts...

das hier ist mein BB-Code:

Code: [AUSKLAPPEN]
api_MoveWindow(SystemProperty("AppHWND"),10,10,100,100,1)
Delay 2000
End


und das das passende Stück "User32.decls" dazu:

Code: [AUSKLAPPEN]
.lib "user32.dll"

api_MoveWindow% (hwnd%, x%, y%, nWidth%, nHeight%, bRepaint%) : "MoveWindow"


und das funzt. Ich bekomme dann ein kleines Fenster (100,100) in der linken oberen Ecke des Bildschirms (10,10).

Sollte also gehen. Machst du vielleicht noch einen Graphics Befehl nachdem du die Zeile stehen hast? Dann stellt BB das Fenster nämlich wieder auf die Angaben in Graphics zurück.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

Ekrits

BeitragFr, Jan 12, 2007 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
wär schön wenn der das machen würde nur der sagt imemr das er den befehl net kennt "Function 'api_movewindow' not found"
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE

EPS

BeitragFr, Jan 12, 2007 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ähh....du hast die decls Datei aber schon im Userlibs Ordner deiner Blitz Installation - oder?
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

Ekrits

BeitragFr, Jan 12, 2007 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
jo, sonst würd das andere auch net funtzen ("C:\programme\blitz3d\userlibs\user32.decls")
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE

EPS

BeitragFr, Jan 12, 2007 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm......also dann bin ich mit meinem Latein am Ende.
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.
 

Ekrits

BeitragFr, Jan 12, 2007 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Liegts vllt daran das ich win200O hab und da der befehlin der user32.dll noch net vorhanden is?
EKRITSel: Rechtschreibfehler sind gewollt um eure Aufmerksamkeit zutesten!


Magians vs. Nekromats 100% COMPLETE
 

flashmaxel

BeitragFr, Jan 12, 2007 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Auf der Microsoftseite :
Zitat:
Minimum operating systems Windows 95, Windows NT 3.1

Von daher - nein es liegt nicht am Windows 2000.
Edit : Irgendwie ergibt die Situation für mich überhaupt keinen Sinn ... teste es doch mal mit ein paar anderen Dlls und wenn die teilweise nicht gehen, dann installier BB am besten mal neu ... kp was das helfen soll aber normal ist das ja nicht Very Happy.
Real C programmers never die; they cast to void.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group