IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @576
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Vdd Orava - okná, dvere

Eurookná, plast.okná, nábytok, okenice, schodiská, inter. a exter. dvere www.vddorava.sk

Neovládajte žalúzie ručne

Ovládanie žalúzií GrapaTEC pre nové aj namontované žalúzie! www.grapatec.com

Zablokovali sa Vám dvere?

Poistite Váš dom u nás a UNIQA Assistance ich vždy otvorí za Vás. www.uniqa.sk

Zákaznícka zóna Môj Orange

Pozrite si podrobný rozpis hovorov, spotrebu alebo si aktivujte služby. www.orange.sk

Faktúry pre živnostníkov

Nástroj pre malých podnikateľov na faktúry a účtovnú evidenciu (video). www.superfaktura.sk

Pictureboxy

Zaslať odpoveď
AutorSpráva
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: St 14.04.10 0:05Odpovedať s citátomNávrat hore

1. problem
ako prekreslim na pictureboxe jeho image?
kód:

        public void ShowStep(Form pForm, int pStep)
        {
            Bitmap bmp = new Bitmap(19, 25);
            Graphics g = pbStep.CreateGraphics();
            //Graphics g = Graphics.FromImage(bmp);
            pbStep.Image = bmp;
            g.DrawString(pStep.ToString(), new Font("Arial", 17), new SolidBrush(Color.Snow), new Point(0, 0));
            //prekreslenie stepu
        }

prve nakreslenie je vpohode, lenze ked kreslim druhykrat, tak sa mi to len prekresluje jedno cez druhe, tj prvy string mi nezmizne nech to robim takto alebo aj tym zakomentovanym sposobom
poznamka: BackColor je nastavene na transparent

2. problem
kedze picturebox nepodporuje priehladnost (to co je u neho prihladnost je nieco moc divne, pretoze to len prekresluje pixely svojho parenta na seba ), vytvoril som si podla navodov z webu vlastny picturebox:
kód:

public class MyPB : Control
        {
            private Image _image;

            public MyPB()
            {
                SetStyle(ControlStyles.SupportsTransparentBackColor, true);
                SetStyle(ControlStyles.Opaque, true);
                BackColor = Color.Transparent;
            }

            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    cp.ExStyle |= 0x20;
                    return cp;
                }
            }

            protected override void OnPaint(PaintEventArgs e)
            {
                if (Image != null)
                {
                    e.Graphics.DrawImage(_image, 0, 0, _image.Width, _image.Height);
                }
            }

            protected override void OnPaintBackground(PaintEventArgs e)
            {
                //Do not paint background
            }

            public Image Image
            {
                get
                {
                    return _image;
                }
                set
                {
                    _image = value;
                }
            }
        }

toto uz sa da potom nazvat prihladnost (prave vdaka metode createParameters) lenze ked mi moj picturebox zmeni polohu na forme, pozadie toho _image si nejak zabudol updatnut a ma ho z predoslej pozicie ak sa to neda pochopit doplnim scrinsoty

zatim dik

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
m@-nX
Užívateľ
Užívateľ

Založený: 25.12.2006
Príspevky: 239
Bydlisko: Krásno n/Kys. / Ova - ČR

PríspevokZaslal: Po 19.04.10 18:23Odpovedať s citátomNávrat hore

Neviem ci som ta spravne pochopil, ale skusim. Tiez vo svojom projekte pouzivam PictureBox do ktoreho vykreslujem zatial 1 obrazok z kamery a v pohode ide po stisknuti tlacitka vzdy vykreslit 1 obrazok. Skus nieco ako

kód:

if (pictureBox.Image != null)
{
   pictureBox.Image.Dispose();
   pictureBox.Image = null;
   pictureBox.Refresh();
}


a potom mu nastav novy image.
Zobraziť informácie o autoroviOdoslať súkromnú správuICQZobraziť autorove WWW stránky
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: St 05.05.10 22:21Odpovedať s citátomNávrat hore

no robil som aj update() aj refresh() aj nieco tretie (nevim si rychlo spomenut)
ale nepomohlo, ono sa to sprava tak, ze ked pomocou alt+tab prepnem na ine okno a znovu zobrazim to herne, je to prekreslene ako chcem, ked picturebox (ten moj MyPB) opat presuniem, zas si so sebou vezme uz teraz nove pozadie, a opat ked prepnem na ine okno a spat zas je to spravne...

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd