I'm testing and developing WinFX Applications on Windows Vista Beta. I'll post all things I consider as interesting here and keep you up to date with my developing experiences.
Visual Studio 2005 - Award for Customer Excellence
Get link
Facebook
X
Pinterest
Email
Other Apps
I'm proud to tell you that I just received a Award for Customer Excellence related to Visual Studio 2005!
I was asked whether it is possible to capture a webcam's output in Windows Forms 2.0 so I did a bit researching. First I thought I would have to do this in DirectX but then I found some API calls for VB6 and translated them to VB .NET 2. In fact it is very easy to capture the output. You simply need a Control and it's handle. I chose a PictureBox named PictureBox1 to do so. You have to define the Win32 API calls first. We will need two API functions SendMessage and capCreateCaptureWindow . Private Declare Auto Function SendMessage Lib "user32" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Const EM_LINEFROMCHAR As Integer = &HC9 Const EM_LINEINDEX As Integer = &HBB Private Declare Auto Function capCreateCaptureWindow Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Inte...
Some of you may have wondered who the creators of Microsoft Max did the Chrome. Although this breaks one of the Top 10 Vista rules I will show how to create a WPF window with custom chrome. You can't get there by simply setting the border of a WPF Window to None because always a thick border remains. You have to do a work around and create an empty Win32 window and fill it with your own WPF controls. You can use the HwndSource object to do this. This object is intended to place WPF controls into Win32 Applications but you can also use it to place a WPF control onto your Windows Desktop which is also a Win32 application. HwndSource will call the native function CreateWindowEx and create the window for you. Dim params As HwndSourceParameters = New HwndSourceParameters("CustomChrome 1", 400, 300) Dim hwnd As HwndSource = New HwndSource(params) hwnd.RootVisual = New Page1 This code will create a default window for you. The HwndSourceParameters 's constructor sets the...
In earlier Versions of WPF Pages and Windows provided a Loading Event. I used to placed all my data initialization code that affects databinding here. Since this event is gone I placed the code into the Loaded Event. This is very uncompfortable because the page is displayed before this code is executed. I also tried to put some code into the constructor but this wasn't a good idea because it is not guaranteed that all controls are initilized at that moment. So I searched the MSDN for that issue and found the Initialized Event as a solution. When this event is fired all controls are initialized but the page is not yet displayed! You can perform any databining related actions there and the user will only see the result. Besides this is more performant than putting the code into the Loaded event because WPF doesn't need to set and render all databinding fields twice!
Comments