Borderless Window mit runder Form darstellen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

Borderless Window mit runder Form darstellen

Beitrag von 50-Pfennig »

Also ich habe eine Frage bezüglich nem Borderless Window, also ich würde gerne ein image, welches nicht rechteckig, sondern Oval ist (mit transparentem Hintergrund) darstellen. Wie kann ich also nur das Ovale Stück des Images anzeigen lassen?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

mit bereichen, schau mal in fluids code hier in diesem thread
http://www.purebasic.fr/german/viewtopic.php?t=12695

du müßtest halt für jede einzelne zeile ein rectangle erzeugen.

ich find sowas übertrieben und nutzlos, aber mach ruhig.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Kaeru Gaman hat geschrieben:du müßtest halt für jede einzelne zeile ein rectangle erzeugen.
Alter schützt for Torheit nicht! Bild

Im Ernst, das isn Zweizeiler:

Code: Alles auswählen

hRgnResult = CreateEllipticRgn_(0,0,ImageWidth(),ImageHeight())
SetWindowRgn_(WindowID(0),hRgnResult,1)
Es geht aber auch mit BitBlt_() und einer schwarz/weiss Maske.
ich find sowas übertrieben und nutzlos, aber mach ruhig.
Richtig angewendet ist es durchaus sinvoll. Aber das ist ja mit allen Dingen so.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Alter schützt for Torheit nicht!

ok... war ein fehlschluss. :lol:

> CreateEllipticRgn_(

aber dann muss auch das image pixelgenau reinpassen...
nungut, wär das kleinere übel.

> Es geht aber auch mit BitBlt_() und einer schwarz/weiss Maske.
das poste doch mal bitte in C,T&T
so fragen kommen oft genug, also mach mal.

> Richtig angewendet ist es durchaus sinvoll. Aber das ist ja mit allen Dingen so.
nuja.. zwischen "sinnvoll" und "spaßig" bzw. "interessant" ist zwar noch ein unterschied, aber ok... Bild
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Hey, die IDeen sind auf jeden Fall schön, und ich habe gerade ein wenig damit herumexperimentiert.

Ich habe hier den Fall, dass ich einen Text habe, der auf ein DrawGadget (in einer anderen Sprache aber :oops: ) gemalt wird. Wenn das Fenster vergrößert/verkleinert wird, so Zentriert sich der Text, und wird auf die neue Größe gestreckt.

Das Problem ist jetzt- wenn ich mir alle Punkte herraussuche (in dem Fall RGB(255,255,255), also Weiß), und diese transparent mache, so kann ich nur noch "auf den Text" klicken- dahinter ist er nicht mehr angreifbar.

Doch in meinem Fall wäre es gut, wenn wenigstens die Textzwischenräume noch anklickbar wären...

Hättest du da vielleicht auch eine Idee?

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Tip: Post mal nen Entwurf deines GUI. ( Screenshot )
dann ist evtl. leichter passende Tips zu geben.

Thalius
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Wird ein WYSWYG-Editor. Ich habe die Flächen, die momenten nicht durchsichtig sind, grau gefärbt. Diese sollen aber transparent sein, aber trotzdem noch auf Klicks regaieren- die Callback darf nicht durch das alpha-blending (oder wieauchimmer das intern damit verfährt) behindert werden.

Ich finde das bei vielen WYSIWYG-Editoren sowieso schjon nervig, wenn man mal innerhalb des "O"s klickt, und nichts reagiert :freak:

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Wenn das Fenster vergrößert/verkleinert wird, so Zentriert sich der Text, und wird auf die neue Größe gestreckt.
Passiert das in Echtzeit oder ist der Text ein Bild?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Du meinst, du hast ein Fenster welches nur Text darstellt ... Die
Freiräume, also die Pixel die keinen Text enthalten, entfernst du mit hilfe
der Window-Region-API? Wo kein Fenster ist, kann auch keins reagieren.
Du kannst höchstens per API die globalen Tastendrücke abfragen und
eventuell drauf reagieren. Aber wenn etwas hinter deinem Fenster ist,
reagiert dieses dann ... das müsste man abfangen.

Edit: mir fällt da noch was ein ... weis aber nicht wie Ressorcefressend
das ist ... du könntest die Fläche unter deinem Fenster auf deinem
Fenster malen. So sieht es für den Anwender aus, als dein Fenster
durchsichtig wäre und du kannst dennoch drauf klicken. Wenn du das
aber zu großflächig machst würde es mich als Anwender stören ... da
man dann nicht mehr klar erkennen kann, wo dein Fenster ist und wo
nicht :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten