![]() |
Alpha 0%
Hallo,
ich möchte umbedingt den hintergrund der form durchsichtig machen und aber ein bild drauf. Das geht doch mit Alpha oder? |
Re: Alpha 0%
Genau. Steht auch in der OH. Kaum zu übersehen. ;)
|
Re: Alpha 0%
Ok danke.
|
Re: Alpha 0%
Moment:
Soll das Bild auch durchsichtig werden? Wenn ja, ist oberer Ansatz richtig, wenn nicht, dann Suche in der OH nach Transparenz |
Re: Alpha 0%
Nein man soll nur das bild sehen.
|
Re: Alpha 0%
Also soll das Bild nicht transparent sein?
Was soll noch alles auf der Form sein? |
Re: Alpha 0%
2 Buttons und 2 Textfelder zum eingeben.
|
Re: Alpha 0%
Dafür könntest du die Eigenschaft Transparent Color nehmen, allerdings bräuchtest du eine Farbe, die im Bild nicht enhalten ist. [edit:] Fällt auch weg, hab nicht beac htet, dass Labels und Buttons auf der Form sind.
AlphaBlendValue fällt weg, da dann auch das Bild ausgeblendet wird. Du kannst aber Regions benutzen, such mal danach. |
Re: Alpha 0%
Boa. :shock: Tut mir echt leid. Versteh grad nur Bahnhof. Kannst du's auch für dumme erklären?
|
Re: Alpha 0%
Gibt es eine Farbe, die im Bild nicht vorkommt?
Ansonsten einfach bei der MainForm "transparent" auf True, Transparentcolor auf die nichtvorkommende Farbe, Color auch auf die nicht vorkommende Farbe. |
Re: Alpha 0%
Doch leider schon. Aber ist auch nicht sooo schlimm. Nur noch eine frage. Wie mach ich es das es von alpha 0 bis alpa 100 in 3sec abgespielt wird o. so ä.?
|
Re: Alpha 0%
Ich meinte, wenn eine Farbe drin nicht vorkommt, nimm die einfach. Probiers mal mit clFuchsia.
Für das "Verblassen" schreibst du:
Delphi-Quellcode:
Die Variable start muss ein Cardinal sein. Deklarier sie einfach.
start:=GetTickCount;
repeat AlphaBlendValue:=3000*255 div (GetTickCount-start+1) until GetTickCount>=start+3000; "Entblassen" geht so:
Delphi-Quellcode:
start:=GetTickCount;
repeat AlphaBlendValue:=255-(3000*255 div (GetTickCount-start+1)) until GetTickCount>=start+3000; |
Re: Alpha 0%
Zitat:
|
Re: Alpha 0%
Zitat:
Cardinal ist ein Datentyp. |
Re: Alpha 0%
Ahhh gut danke. Vielleicht noch kurz was dazwischen, was ist daran falsch
Delphi-Quellcode:
und stimmt das dann so:
var eingabetext: textfile;
begin write(eingabetext, edit1); rewrite(eingabetext, 'c:\data.txt'); close(eingabetext); end;
Delphi-Quellcode:
procedure Tform1.createform(sender: Tobject);
var start: cardinal; begin start:=GetTickCount; repeat AlphaBlendValue:=255-(3000*255 div (GetTickCount-start+1)) until GetTickCount>=start+3000; end; |
Re: Alpha 0%
//Edit: Vergesst es, peil grad gar nix mehr, zu lange nix mehr mit typi und untypisierten Dateien gemacht :wall:
|
Re: Alpha 0%
So ists richtig:
Delphi-Quellcode:
var eingabetext: textfile;
str: String; begin assignfile(eingabetext,'C:\data.txt'); rewrite(eingabetext); str:=edit1.text; write(eingabetext, str); closefile(eingabetext); end; |
Re: Alpha 0%
Ah gut. Und das andere? Hab ich das richtig gemacht?
|
Re: Alpha 0%
LOL, das ist exakt mein Code. Copy & Paste, viel kann man da nicht falsch machen. Naja egal.
Probiers mal aus, dann siehst du schon, ob ein Fehler drin ist. EDIT: Ich seh grade, da ist ein mathematischer Fehler von mir drin:
Delphi-Quellcode:
Aber ich würde das eher nicht in FormCreate aufrufen, weils dann auch nicht geht.
procedure TForm1.Button1Click(Sender: TObject);
var start: cardinal; begin start:=GetTickCount; repeat AlphaBlendValue:=255-(255*(GetTickCount-start+1) div 3000) until GetTickCount>=start+3000; end; |
Re: Alpha 0%
Ja. Bei mir gehts auch nicht mit formcreate. Wie denn dann?
|
Re: Alpha 0%
Gute Frage. Auf jeden Fall in einer Prozedur, in der die Form schon gezeigt wurde.
Seltsamerweise gehts bei TForm.OnShow auch nicht. |
Re: Alpha 0%
Zitat:
Warum geht diese Form.Onshow oder auch die ganz normale createform nicht? Wie beendent man ein programm komplett? (Ich hab einen button erstellt und ihm einfach den befehl close; zugewießen [ach ja ich hab 2 formen]) Wie kann man ein programm so programmieren das es sich mit dem taskmanager oder auch anders nicht schließen lässt. Also das man es nicht normal beenden kann, sodass man dem formular folgen muss, wenn z.b dort ein button mit exit ist. Wie geht sowas? P.s.: Wollt nicht soviele topics aufmachen! Ihr wisst schon. |
Re: Alpha 0%
1. Es funktioniert dann nicht, weil die Form noch nicht komplett erstellt wurde. Kannst z. B. das OnActive nehmen (hatte das Problem auch vor kurzem)
2. Wenn du von der Hauptform aus close aufrufst ist das Programm komplett beendet, ansonsten mit application.terminate, was aber den Nachteil hat, dass die Ereignisse, die beim Schließen der Formen ausgeführt werden sollen nicht ausgeführt werden. 3. gibts schon zu viele threads zu Eigentlich für jede Frage neuen Thread + Suche benutzen ;) |
Re: Alpha 0%
Okey mach ich. Aber soooo mit dem Quelltext den ich oben angegeben hab, hab ich das noch nicht so verstanden was ich damit machen soll. Was war da jetzt genau?
|
Re: Alpha 0%
"er gibt immer einen e/o error" ist wohl kaum eine gute Fehlerbeschreibung. Wie wäre es, wenn du mal sagst, WO genau der Fehler auftritt (mit Haltepunkten eingrenzen) und welcher es genau ist.
|
Re: Alpha 0%
Zitat:
Delphi-Quellcode:
So kenn ich das. Gehört aber nicht in den Thread hier.
var
eingabetext:textfile; MyString:String; begin AssignFile(eingabetext,'c:\data.txt') Rewrite(eingabetext); WriteLn(eingabetext,MyString); CloseFile(eingabetext); end; // edit: ups die zweite Seite übersehen |
Re: Alpha 0%
Zitat:
|
Re: Alpha 0%
Ist wohl eher ein E/A Fehler. Und ich erkenne da keinen Fehler im Code. Also sei so nett und sag mir die Fehlermeldung.
|
Re: Alpha 0%
Ja E/A Fehler genau. Was passiert da genau? Wie beheb ich das?
*Soll ich nen Screens. machen von dem error? |
Re: Alpha 0%
Zitat:
|
Re: Alpha 0%
Die Fehlernummer wäre auch ein Anfang. Und die Zeile, in der der Fehler auftritt.
Ich glaube, du hast keine Ahnung, wie viele E/A Fehler es gibt. Ziemlich viele. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz