Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.265 pregleda

Najnovija ↓

Transparentna selekcija u DataGridView???? 09.04.2009. u 12:32 · pre 213 meseci #1
Pozdrav,
hteo bih da postavim da selekcija u DataGridView bude u boji koja transparentna (npr. transparentno plava).
Probao sam razne varijantne i kada probam da postavim da boja bude transparentna selekcija bude u crnoj boji...
Da li neko ima ideju kako bi mogao da resim problem?
Evo kod koji sam probao:

Code:
 

public MyDataGrid()
        {
            InitializeComponent();

            Color paternColor = Color.Blue;
            Color backColor = Color.FromArgb(45, paternColor.R, paternColor.G, paternColor.B);

            DataGridViewCellStyle cellStyle = new DataGridViewCellStyle();
            cellStyle.SelectionBackColor = backColor;
            cellStyle.SelectionForeColor = Color.Black;
            DefaultCellStyle = cellStyle;
            DoubleBuffered = true;
        } 



protected override void OnCellPainting(DataGridViewCellPaintingEventArgs e)
        {
          
                Color paternColor = Color.Blue;
                Color backColor = Color.FromArgb(45, paternColor.R, paternColor.G, paternColor.B);

                using (Brush backBrush = new SolidBrush(backColor))
                {
                    e.Graphics.FillRectangle(backBrush, e.CellBounds);

                }
            
        }

 
Re: Transparentna selekcija u DataGridView???? 09.04.2009. u 13:48 · pre 213 meseci #2
Pogledaj ovde :
http://msdn.microsoft.com/en-u...viewcellpaintingeventargs.aspx
Obrati paznju na e.Handled = true ; sto govori da je crtanje zavrseno tj . da se ne poziva sistemsko iscrtavanje(farbanje) celije .
Takodje sve moras odraditi rucno kroz GDI funkcije (fokus selekcije , farbanje unutrasnjosti celije, crtanje string-a itd).
Potpis
Viva lollapalooza
Re: Transparentna selekcija u DataGridView???? 09.04.2009. u 13:59 · pre 213 meseci #3
Moja varijanta je radila za bilo koju boju ali koja nije transparentna, cim stavim da ima malo transparentnosti sve celije postaju crne, dok su ovako u boji koja mi treba. kad postavim da je e.Hadled = true bukvalno moram sve da crtam... Da li postoji neko drugo resenje?
Re: Transparentna selekcija u DataGridView???? 09.04.2009. u 14:22 · pre 213 meseci #4
Pa tesko da ces na taj nacin uspeti .
Mozes da probas da dodas stil WS_EX_TRANSPARENT tvom DataGrdiView-u.
http://www.bobpowell.net/transcontrols.htm

Ali u tom slucaju dobijas potpunu transparentnost prozora tj. tvog Grid-a
ali ne mozes menjati njegov alfa kanal za prikaz tj. semitransparentnost.

Ovakve pikanterije mozes jedino ako primenis WS_EX_LAYERED stil tvom prozoru uz pomoc UpdateLayeredWindow api funkcije :
http://msdn.microsoft.com/en-us/library/ms997507.aspx
ali cisto sumnjam da ce to raditi na DataGridView-u tj. na njegovim celijama
vec samo na obicnim prozorima koji koriste 32 bitne bitmape ili png-ove za layout .
Potpis
Viva lollapalooza
Re: Transparentna selekcija u DataGridView???? 09.04.2009. u 15:34 · pre 213 meseci #5
Ovo mi ne zavrsava posao... Ono sto meni i dalje nije jasno zasto se prikazuje crna boja kad postavim da ima malo transparentnosti????
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme