Minulla on pääikkunan taustakuvana kuva (TImage) joka on soikea ja kuvan ulkopuolella näkyy pääikkunan taustaväri (clBtnFace). Kuinka saan pääikkunan taustasta täysin läpinäkyvän sillein että taustana on pelkkä kuva? jos käytän TransparentColoria niin kuvan reunalle jää silti vähän taustaväriä.
Läpinäkyvä pääikkuna
4
409
Vastaukset
- sdh657hj
procedure TForm1.FormCreate(Sender: TObject) ;
var
FullRgn, ClientRgn, ButtonRgn: THandle;
Margin, X, Y: Integer;
begin
Margin := (Width - ClientWidth) div 2;
FullRgn := CreateRectRgn(0, 0, Width, Height) ;
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CreateRectRgn
(X, Y, X ClientWidth, Y ClientHeight) ;
CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF) ;
X := X Button1.Left;
Y := Y Button1.Top;
ButtonRgn := CreateRectRgn
(X, Y, X Button1.Width, Y Button1.Height) ;
CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR) ;
SetWindowRgn(Handle, FullRgn, True) ;
end;
// löytyi tuolta http://delphi.about.com/cs/adptips1999/a/bltip0899_5.htm - Delphikoodari..
Muistaakseni Transparent väri pitää määritellä erikseen vielä formin ominaisuuksissa.
Toinen vaihtoehto on Layered Window
Kannattaa käyttää myös png-kuvia, joissa voi määritellä läpinäkyvyysarvot.
http://www.swissdelphicenter.ch/torry/showcode.php?id=924- dtoo
että tietääkseni delphi ei anna suoraa tukea .png kuville, mutta kirjastoja löytyy, muuten tuo menee ihan transparent color arvon mukaan, tosin en suosittele kyseistä tapaa ellei tiedä mitä tekee, perustelen sillä että monet pilaavat hyvän, kenties hyödykkäänkin ohjelman turhalla halulla tehdä siitä ns edistyneesti näyttävä, toivottavasti olen väärässä ja toivotan onnea mitä sitten teetkään :)
- Delphikoorari..
dtoo kirjoitti:
että tietääkseni delphi ei anna suoraa tukea .png kuville, mutta kirjastoja löytyy, muuten tuo menee ihan transparent color arvon mukaan, tosin en suosittele kyseistä tapaa ellei tiedä mitä tekee, perustelen sillä että monet pilaavat hyvän, kenties hyödykkäänkin ohjelman turhalla halulla tehdä siitä ns edistyneesti näyttävä, toivottavasti olen väärässä ja toivotan onnea mitä sitten teetkään :)
Itse sovellus kannattaa pitää mielestäni normaalina, ehkä vähän liukuveräjä voi käyttää (nykyään muodikasta), mutta esim. "Splash screen" kuvan voi hyvin topteuttaa tuolla png-layered Windows systeemillä sovelluksen käynnistyksen yhteydessä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
S-kaupoissa on nykyään ihanaa käydä
Kun niissä ei enää käy satuolentoihin uskovat hihhuIit eivätkä persut. Asiakaskunta on huomattavasti siistiytynyt muutam20413907Riikka runnoo! Uutta velkaa tänä vuonna 17 mrd. euroa
Tirsk. Nyt kyllä hihityttää kuin pientä eläintä. Riikka takoo maailmanennätyksiä tasaiseen tahtiin. " [Riikka] joutuu547080Jens Ihlen (ex Kukka) poika todistaa oikeudessa
10:49 "Välit ovat olemattomat" Minkälainen isäsi ja sinun välinen suhde on tällä hetkellä? "Minulla ei ole minkäännäkö1916758K-kaupassa on mukava käydä, kun ei tarvitse katsella köyhiä
vasemmistolaisia, joista monet myös varastavat. Mielellään maksaa vähän enemmän tuotteista K-kaupassa, jotka ovat paljon974689Näin tyhmä vasemmistolainen on: "S-kaupoissa on nykyään ihanaa käydä
kun siellä ei ole hihhuleita eikä persuja." Vain tyhmä eli heikkoälyinen vasemmistolainen voi tehdä noin lapsellisia ju724630Kela maksoi etuuksia 17,3 mrd. eur, yritykset sai 10,6 mrd.
Tuohon päälle vietiin vielä palkansaajilta työeläkeloisille 27,5 miljardia euroa. Etenkin Suomen Sosialistiset Yrittäjä214431Suomeen ei kuulu ihmiset jotka ei halua kätellä toisia ihmisiä, koska tämä on vääräuskoinen
Nainen joka ei halunnut kätellä Stubbia on selvästi ääripään muslimi, eli sitä sakkia josta niitä ongelmia koituu. Ulos724295Suomessa on ollut suurtyöttömyyttä ennenkin, ja lääkäriin pääsee nykyäänkin
Täällähän oli jonkun sekopään(vas.) juttu, että ennen ei ollut työttömyyttä ja lääkäriin pääsi. Siihen alkoi tietysti ko754102Kysymys: Kuinka moneen maahan neuvosto-venäjä on hyökännyt
viimeisten 90-vuoden aikana? Ja lähinnä on siis kyse neuvosto-venäjän naapurimaista - kuten Suomesta. Lista on huomatta1003876- 933660