Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von dennisspohr
Thema: Humor: Java Programmierer ... und andere lustige Sachen
Am im Forum: Smalltalk

@ onlinegurke:

Praktisch brauchst du keine Zweifel zu haben...mir ist es auch schon passiert..

lg Dennis

Thema: Humor: Java Programmierer ... und andere lustige Sachen
Am im Forum: Smalltalk

ja ich kannte es auch schon...es ist einfach GENIAL

lg Dennis

Thema: entwickler-press.de: Gratis e-Books als Weihnachtsgeschenk(e) 2007
Am im Forum: Szenenews

japp...das ist wirklich kein Problem..sehr schneller, netter und unkomplizierter Support!

lg Dennis

Thema: Themen beobachten
Am im Forum: Wünsche und Kritik

Ich finde die Idee auch sehr interessant...eine wirklich gute Idee - auch ich stand öfters vor den oben genannten Problemen.

lg Dennis

Thema: myCSharp.de V3: Wann gehts denn los?
Am im Forum: Wünsche und Kritik

und schon wieder fast ein halbes Jahr rum...hat sich was getan?
lg Dennis

Thema: entwickler-press.de: Gratis e-Books als Weihnachtsgeschenk(e) 2007
Am im Forum: Szenenews

@serial: Das wäre super..aber glaube ich nicht dran..
lg Dennis

Thema: entwickler-press.de: Gratis e-Books als Weihnachtsgeschenk(e) 2007
Am im Forum: Szenenews

wow super vielen Dank für diesen Tipp! Bei mir klappt alles einwandfrei! (ie + firefox)
lg Dennis

Thema: wie kann man ein Listview ausdrucken?
Am im Forum: GUI: Windows-Forms

Und Punkt 2 (okay erledigt..) wäre auch nicht schlecht

Thema: Text der Listbox individuell färben
Am im Forum: GUI: Windows-Forms

Vielen dank ich werde es mir mal anschauen!

lg Dennis

Thema: Text der Listbox individuell färben
Am im Forum: GUI: Windows-Forms

ui...und das geht nicht ein wenig einfacher? Ich dachte da wär nun nur eine Kleinigkeit.. =D

Thema: Text der Listbox individuell färben
Am im Forum: GUI: Windows-Forms

Danke ich werds mir mal anschauen!

lg Dennis

Thema: Text der Listbox individuell färben
Am im Forum: GUI: Windows-Forms

Hallo @ all!

Gibt es eine Möglichkeit in einem Eintrag einer normalen Listbox die Textfarbe unterschiedlich zu setzen?

Der Grund:
In meiner Listbox werden alle über eine Suche gefundenen Einträge aufgelistet. Nun woll in jedem Eintrag das entsprechende Suchwort makiert werden. Bsp:

Suche: "csharp"
Listboxeintrag: "www.mycsharp.de"

Danke für alle Antworten!

lg Dennis

Thema: [kniffelig] Warum verschwinden die Controls?
Am im Forum: GUI: Windows-Forms

okay...falls irgendwann mal jemand das gleiche Problem hat, hier eine gute Lösung dafür:

CodeProject: Alpha blended windows forms

lg Dennis

Thema: Songza
Am im Forum: Smalltalk

ja es kommt alles von youtube. Es wird einfach in der Kategorie "Musik" in den Titeln der Videos nach dem eingegebenen Interpreten gesucht, eigentlich so simple und doch genial

lg Dennis

Thema: Songza
Am im Forum: Smalltalk

Ich hatte schonmal so etwas gesehen, schon damals habe ich mir die Frage gestellt ob bzw. wie sowas legal ist.

=>RadioBlogClub

Allerdings ist die Auswahl nicht so groß wie bei Songza

Thema: Songza
Am im Forum: Smalltalk

Mich würde es auch interessieren...woher haben die die ganze Musik?

Thema: Songza
Am im Forum: Smalltalk

hey das ist wirklich genial....und es werden auch sehr viele Songs gefunden! Wirklich klasse Seite, danke für die Empfehlung!

lg Dennis

Thema: ListBox Selektionsbalkenfarbe ändern
Am im Forum: Web-Technologien

danke für den Link

Thema: ListBox Selektionsbalkenfarbe ändern
Am im Forum: Web-Technologien

Weiß niemand eine Antwort? Denn ich habe nun das gleiche Problem...

lg Dennis

Thema: [kniffelig] Warum verschwinden die Controls?
Am im Forum: GUI: Windows-Forms

Kann mir denn keiner helfen?

Thema: [Ohne Antwort] und "Antworten"
Am im Forum: Wünsche und Kritik

Gut dann würde ich mir aber am Ende des Themas einen Link wünschen, in der der Autor bestätigen kann, dass eine Lösung für das Problem gefunden wurde. Wisst ihr was ich meine? Dies könnte in der Übersicht dann mit "[Gelöst]" oder so ähnlich angezeigt werden. So etwas habe ich in anderen Foren schon öfters gesehen.

Gruß Dennis

Thema: [Ohne Antwort] und "Antworten"
Am im Forum: Wünsche und Kritik

Hm...soweit hatte ich noch gar nicht gedacht *g*

Thema: [Ohne Antwort] und "Antworten"
Am im Forum: Wünsche und Kritik

Hallo!

Stellt euch vor jemand eröffnet ein neues Thema und erhält keine Antworten. Nun ist ihm selber schon eine Verbesserung seines geposteten Codes aufgefallen, postet den neuen Code als neue Antwort und bittet aber fortlaufend nach Hilfe.

Was mich nun stört oder was ich irritierend finde:

- In der Übsicht erlischt "[Ohne Antwort]" wobei ja eigentlich keine Antwort gefallen ist.

- In der Übersicht bei "Antworten" steht eine "1", obwohl ja wiederum eigentlich keine Antwort erfolgt ist.

Man sollte vielleicht hingehen und überprüfen, ob die Antworten eventuell vom Autor des Themas gepostet wurden.

Also ich fände dies praktischer

Gruß Dennis

Thema: [kniffelig] Warum verschwinden die Controls?
Am im Forum: GUI: Windows-Forms

okay...ich habe noch ein Online-Beispiel gefunden, dabei wird die Form angezeigt und oben links neben dieser Form die Grafik mit dem Schatten. Jetzt müsste die Grafik nur noch irgendwie in die Form hinein.
Hilft euch das vielleicht weiter um mir zu helfen...?


        [DllImport("gdi32.dll", EntryPoint = "GdiAlphaBlend")]
        public static extern bool AlphaBlend(IntPtr hdcDest, int nXOriginDest, int nYOriginDest,
           int nWidthDest, int nHeightDest,
           IntPtr hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc,
           BLENDFUNCTION blendFunction);


        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        static extern IntPtr CreateCompatibleDC(IntPtr hdc);

        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        static extern bool DeleteDC(IntPtr hdc);

        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);

        [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
        static extern bool DeleteObject(IntPtr hObject);

        [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
        public static extern IntPtr GetDC(IntPtr hWnd);
        
        [StructLayout(LayoutKind.Sequential)]
        public struct BLENDFUNCTION
        {
            byte BlendOp;
            byte BlendFlags;
            byte SourceConstantAlpha;
            byte AlphaFormat;

            public BLENDFUNCTION(byte op, byte flags, byte alpha, byte format)
            {
                BlendOp = op;
                BlendFlags = flags;
                SourceConstantAlpha = alpha;
                AlphaFormat = format;
            }
        }

        const byte AC_SRC_OVER = 0x00;
        const byte AC_SRC_ALPHA = 0x01;
        
        private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap bitmap = (Bitmap)Bitmap.FromFile(@"C:\Eigene Dateien\Visual Studio 2005\Projects\Goerlitz.EmployeeInfo\Görlitz Employee Info\_Bin\desk.png");
            IntPtr g = GetDC(IntPtr.Zero);
            int x = 40;
            int y = 40;
            byte Alpha = 255;
            
            IntPtr pSource = CreateCompatibleDC(g);
            IntPtr pOrig = SelectObject(pSource, bitmap.GetHbitmap(Color.Black));
            AlphaBlend(g, x, y, bitmap.Width, bitmap.Height, pSource, 0, 0, bitmap.Width, bitmap.Height, new BLENDFUNCTION(AC_SRC_OVER, 0, Alpha, AC_SRC_ALPHA));
            IntPtr pNew = SelectObject(pSource, pOrig);
            DeleteObject(pNew);
            DeleteDC(pSource);
        }

Danke für alle Antworten!

Gruß Dennis

Thema: [kniffelig] Warum verschwinden die Controls?
Am im Forum: GUI: Windows-Forms

Hallo@all!

ACHTUNG:

Im 2. Beitrag ist der aktuelle Quellcode!


Ich glaube die Frage die ich euch jetzt stellen werde, ist relativ knifflig.
Ihr müsst euch vorstellen, ich habe eine PNG-Grafik die transparente Farben enthält. Die Grafik wird in ein Formular geladen und auch korrekt angezeigt, also richtig schön mit Schatten Das einzigste Problem: Es werden keinerlei Controls mehr angezeigt. Dabei ist das witzige, dass sie reagieren, wenn man auf sie klickt (da wo man sie normalerweise sehen würde).
Ich hatte den Quelltext aus einem Beispiel und auf meine bedürfnisse angepasst. Auch in dem nicht-geändertem Beispiel sind die Controls visuell nicht zu entdecken.

Vielleicht wisst ihr ja eine Lösung

Also hier ersteinmal mein Quellcode:
(Beide Quelltexte zusammen sieht viel mehr aus als es wirklich ist )

Die ist meine Klasse "PInvoke", hier findet der hauptsächliche Prozess statt:



    public class PInvoke : Form
    {
        #region Win32 GDI functions
        /// <summary>
        // a static class to expose needed win32 gdi functions.
        /// </summary>
        public class Win32
        {
            public enum Bool
            {
                False = 0,
                True
            };

            [StructLayout(LayoutKind.Sequential)]
            public struct Point
            {
                public Int32 x;
                public Int32 y;

                public Point(Int32 x, Int32 y)
                {
                    this.x = x; this.y = y;
                }
            }

            [StructLayout(LayoutKind.Sequential)]
            public struct Size
            {
                public Int32 cx;
                public Int32 cy;

                public Size(Int32 cx, Int32 cy)
                {
                    this.cx = cx; this.cy = cy;
                }
            }

            [StructLayout(LayoutKind.Sequential, Pack = 1)]
            struct ARGB
            {
                public byte Blue;
                public byte Green;
                public byte Red;
                public byte Alpha;
            }

            [StructLayout(LayoutKind.Sequential, Pack = 1)]
            public struct BLENDFUNCTION
            {
                public byte BlendOp;
                public byte BlendFlags;
                public byte SourceConstantAlpha;
                public byte AlphaFormat;
            }


            public const Int32 ULW_COLORKEY = 0x00000001;
            public const Int32 ULW_ALPHA = 0x00000002;
            public const Int32 ULW_OPAQUE = 0x00000004;

            public const byte AC_SRC_OVER = 0x00;
            public const byte AC_SRC_ALPHA = 0x01;


            [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
            public static extern Bool UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, ref Point pptDst, ref Size psize, IntPtr hdcSrc, ref Point pprSrc, Int32 crKey, ref BLENDFUNCTION pblend, Int32 dwFlags);

            [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]
            public static extern IntPtr GetDC(IntPtr hWnd);

            [DllImport("user32.dll", ExactSpelling = true)]
            public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

            [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
            public static extern IntPtr CreateCompatibleDC(IntPtr hDC);

            [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
            public static extern Bool DeleteDC(IntPtr hdc);

            [DllImport("gdi32.dll", ExactSpelling = true)]
            public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);

            [DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]
            public static extern Bool DeleteObject(IntPtr hObject);
        }
        #endregion
    }


Und dies ist meine Form, in der die Grafik angezeigt wird, nur die Controls leider nicht:


    public partial class Form2 : Form
    {
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x00080000; // This form has to have the WS_EX_LAYERED extended style
                return cp;
            }
        }

        public Form2()
        {
            this.InitializeComponent();

            this.TopMost = true;
            this.FormBorderStyle = FormBorderStyle.FixedDialog;
            this.MinimizeBox = false;
            this.MaximizeBox = false;
            this.ControlBox = false;
            this.Width = 3090;
            this.Height = 1980;

            Bitmap bitmap = (Bitmap)Bitmap.FromFile("desk.png");

            this.SetBitmap(bitmap, 255);
        }

        public void SetBitmap(Bitmap bitmap, byte opacity)
        {
            IntPtr screenDc = PInvoke.Win32.GetDC(IntPtr.Zero);
            IntPtr memDc = PInvoke.Win32.CreateCompatibleDC(screenDc);
            IntPtr hBitmap = IntPtr.Zero;
            IntPtr oldBitmap = IntPtr.Zero;

            try
            {
                hBitmap = bitmap.GetHbitmap(Color.FromArgb(0));  // grab a GDI handle from this GDI+ bitmap
                oldBitmap = PInvoke.Win32.SelectObject(memDc, hBitmap);

                PInvoke.Win32.Size size = new PInvoke.Win32.Size(bitmap.Width, bitmap.Height);
                PInvoke.Win32.Point pointSource = new PInvoke.Win32.Point(0, 0);
                PInvoke.Win32.Point topPos = new PInvoke.Win32.Point(Left, Top);
                PInvoke.Win32.BLENDFUNCTION blend = new PInvoke.Win32.BLENDFUNCTION();
                blend.BlendOp = PInvoke.Win32.AC_SRC_OVER;
                blend.BlendFlags = 0;
                blend.SourceConstantAlpha = opacity;
                blend.AlphaFormat = PInvoke.Win32.AC_SRC_ALPHA;

                PInvoke.Win32.UpdateLayeredWindow(Handle, screenDc, ref topPos, ref size, memDc, ref pointSource, 0, ref blend, PInvoke.Win32.ULW_ALPHA);
            }
            finally
            {
                PInvoke.Win32.ReleaseDC(IntPtr.Zero, screenDc);
                if (hBitmap != IntPtr.Zero)
                {
                    PInvoke.Win32.SelectObject(memDc, oldBitmap);
                    PInvoke.Win32.DeleteObject(hBitmap);
                }
                PInvoke.Win32.DeleteDC(memDc);
            }
        }

        protected override void WndProc(ref Message m)
        {

            if (m.Msg == 0x0084 /*WM_NCHITTEST*/)
            {
                m.Result = (IntPtr)2;	// HTCLIENT
                return;
            }

            base.WndProc(ref m);
        }
    }


Ich wäre euch unendlich dankbar wenn ihr auch den Quelltext mal anschaut und mir eventuell weiterhelfen könntet, vielen Dank für alle Antworten!

Gruß Dennis

Thema: Form Transparent, Controls nicht.
Am im Forum: GUI: Windows-Forms

Ich habe das gleiche Problem, aber ich würde es gern etwas professioneller gestalten. Kann man vielleicht in einer Form irgendwie mit Ebenen oder so ähnlich arbeiten, vielleicht mit UserControls?

lg Dennis

Thema: Form teilweise transparent
Am im Forum: GUI: Windows-Forms

So...also wie ich die Form transparent kriege ist im Prinzip kein Problem, einfach folgendes einfügen:


public Form1()
{
    InitializeComponent();
  
    base.Opacity = 0.5;
}

Das Problem ist nur, bisher sind alle meine Versuche gescheitert, die Form nur an bestimmten Stellen, also z.B. am Rand, transparemt zu kriegen.

Vielleicht ist es ja auch möglich, nur bestimme Kompenten, z.B. eine PictureBox transparent zu kriegen.

lg Dennis

Thema: Form teilweise transparent
Am im Forum: GUI: Windows-Forms

Vielen vielen Dank für deine Hilfe und die Links! Ich werde sie mir nächste Woche mal anschauen....jetzt ist Feierabend

lg Dennis

Thema: Form teilweise transparent
Am im Forum: GUI: Windows-Forms

okay....aber wenn ich die 100 umändere... (habe ein wenig experimentiert) ändert sich lediglich der Farbverlauf, Transparenz ist nirgends zu entdecken.

Thema: Form teilweise transparent
Am im Forum: GUI: Windows-Forms

was sind Alpha-Werte, mal ganz blöd gefragt?