Laden...
Avatar #avatar-2982.jpg
dennisspohr myCSharp.de - Member
Ausbildung Fachinformatiker Westerwald Dabei seit 07.08.2007 420 Beiträge
Benutzerbeschreibung

Forenbeiträge von dennisspohr Ingesamt 420 Beiträge

16.01.2008 - 16:39 Uhr

"das waren Zeiten..."
Das werden wir in spätestens 20 Jahren wieder sagen 😉 (Dann kann ich auch mitreden.. g)

16.01.2008 - 08:34 Uhr

@ Bakachan:

GENIAL! 😁

09.01.2008 - 08:00 Uhr

Hallo bhelbig,

ich freue mich, dass ich dir weiterhelfen konnte 😉

Gruß Dennis

08.01.2008 - 16:19 Uhr

Wozu soll das denn genau dienen / wo und wie soll es eingesetzt werden?
Das wär vorerst einmal interessant zu wissen.

Gruß Dennis

08.01.2008 - 16:16 Uhr

wie kommt man in Photoshop denn auf diese Tastenkombination? Das würd' mich jetzt so als Fotograf doch mal interessieren... g

Gruß Dennis

08.01.2008 - 15:45 Uhr

Hallo bhelbig,

stimmt, jetzt wo ich mich noch etwas mehr erinnere, hatte ich es schließlich mit DIESEM Artikel umgesetzt. Ein BSP kann ich dir leider nicht geben, weil das Programm für meine Firma war.

Ich hoffe ich konnte dir nun weiterhelfen.

Gruß Dennis

08.01.2008 - 12:45 Uhr

Hallo bhelbig,

ja das geht, du musst halt die Grafik dementsprechend mit Transparents erstellen. Somit habe ich bei meiner Anwendung zum Bsp. einen halbtransparenten Schatten erstellt. 😉

Gruß Dennis

08.01.2008 - 09:46 Uhr

Hallo bhelbig,

ich hatte mal das gleiche Problem, ich habe es mittels DIESEN Artikels gelöst.

Schau dir das mal an.

Gruß Dennis

07.01.2008 - 16:10 Uhr

vielleicht
"VALUES ('@p1','@p2','@p3','@p4','@p5','@p6','@p7','@p8','@p9')"
?
Ich kenn mich in diesem Themengebiet aber nicht sooo gut aus..

Gruß Dennis

07.01.2008 - 15:18 Uhr

@ Bakachan:

tatsächlich! es ist Alt+Shift!!
Vielen Dank!

07.01.2008 - 15:17 Uhr

also ich vermute mal das es eine Tastenkombination ist... denn mir passiert es ab und zu dann, wenn ich nur am codieren bin und sonst nichts anders mache.
Auch anderen Leuten aus meiner Firma ist dies schon vorgekommen.

07.01.2008 - 14:52 Uhr

Hallo @ all:

ich habe folgendes Problem:
Manchmal kommt es vor, dass ich gerade am Quelltext am tippen bin, und plötzlich gechieht es: wenn ich auf's "y" drücke erscheint plötzlich ein "z".
Mit anderen Worten: Durch irgendeine von mir unbekannten Tastenkombination wurde meine Tastatur auf amerikanisch umgestellt. Kennt ihr diese?

Gruß Dennis

22.12.2007 - 23:27 Uhr

jap ich wünsche hier auch allen frohe Weihnachten und einen guten Rutsch ins neue Jahr!

lg Dennis

07.12.2007 - 10:48 Uhr

Ja von mir auch ein Glückwunsch 😉

lg Dennis

07.12.2007 - 10:42 Uhr

Hallo herbivore,

okay, dann ist es leider ein zu großer Aufwand.
Vielen Dank für die Auskunft!

lg Dennis

07.12.2007 - 10:02 Uhr

Hallo herbivore,

nein bei mir ist es nicht der Fall. Doch wenn ich mal meine ganzen Kontakte anschaue ist es erschreckend wie viele tatsächlich ihre eigene Emailadresse verwenden.

Deswegen finde ich diesen Schutz nicht verkehrt, da er für die Email ja sowieso schon vorhanden ist dürfte es doch kein allzu großer Aufwand sein, oder nicht?

Es bringt nur Vorteile, keine Nachteile 😉

lg Dennis

07.12.2007 - 09:54 Uhr

owei...ja hast du wirklich fein gemacht! g

lg Dennis

07.12.2007 - 09:53 Uhr

Hallo herbivore,

okay, das wusste ich nicht, dann kann die Email ja verschlüsselt werden.
Naja ich meine ja nicht alle Screennamen, sondern lediglich den MSN-Screenname, da dieser ja aus einer Emailadresse besteht. Und dieser muss nicht nur der MSN-Screenname, sondern kann ja auch eine Emailadresse sein.

lg Dennis

07.12.2007 - 09:03 Uhr

Hallo @ all!

mir ist gerade aufgefallen, dass in den Profilen der MSN-Screenname und die Emailadressen im Klartext angezeigt werden. Dies ist doch ein gefundenes Fressen für Spamming..oder nicht?

Wäre es nicht denkbar, diese als Bild oder Symbol anzuzeigen und sie im Quelltext als verschlüsselt "niederzulegen"?

lg Dennis

05.12.2007 - 07:57 Uhr

@ Yellow:

okay..vielen Dank für deine Auskunft! Na...dann bin ich ja mal gespannt 😉

lg Dennis

04.12.2007 - 11:48 Uhr

@ onlinegurke:

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

lg Dennis

03.12.2007 - 16:43 Uhr

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

lg Dennis

03.12.2007 - 16:25 Uhr

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

lg Dennis

03.12.2007 - 13:20 Uhr

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

lg Dennis

03.12.2007 - 11:18 Uhr

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

03.12.2007 - 11:00 Uhr

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

03.12.2007 - 09:38 Uhr

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

28.11.2007 - 16:12 Uhr

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

27.11.2007 - 10:17 Uhr

Vielen dank ich werde es mir mal anschauen!

lg Dennis

26.11.2007 - 16:20 Uhr

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

26.11.2007 - 16:04 Uhr

Danke ich werds mir mal anschauen!

lg Dennis

26.11.2007 - 15:53 Uhr

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

20.11.2007 - 10:46 Uhr

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

CodeProject: Alpha blended windows forms

lg Dennis

14.11.2007 - 16:09 Uhr

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

14.11.2007 - 15:24 Uhr

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

14.11.2007 - 15:22 Uhr

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

14.11.2007 - 14:54 Uhr

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

lg Dennis

14.11.2007 - 14:04 Uhr

danke für den Link 😉

14.11.2007 - 12:14 Uhr

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

lg Dennis

13.11.2007 - 13:43 Uhr

Kann mir denn keiner helfen? 🙁

13.11.2007 - 12:22 Uhr

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

13.11.2007 - 12:19 Uhr

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

13.11.2007 - 12:07 Uhr

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

13.11.2007 - 11:59 Uhr

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

13.11.2007 - 09:40 Uhr

Hallo@all!

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

12.11.2007 - 09:48 Uhr

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

12.11.2007 - 09:16 Uhr

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

09.11.2007 - 16:30 Uhr

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

lg Dennis

09.11.2007 - 16:06 Uhr

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

09.11.2007 - 16:01 Uhr

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