The WM_MOVING message is sent to a window that the user is moving. By processing this message, an application can monitor the position of the drag rectangle and, if needed, change its position.
ну пипец же вы нудные... читайте мои посты внимательнее! Все кто несмог запустить пример и кричит
This function only works on VB RunTime 6 Forms ThunderFormRT6DC
мастдайные ламеры! Если повылазело прочитать пост 27 или догнать что делает шмот кода
'Make sure we are working with a VB Form hWnd
sClass = Space(256)
lRet = GetClassName(hwnd, sClass, 255)
sClass = Left(sClass, lRet)
If Not sClass = "ThunderRT6FormDC" Then
MsgBox "This function only works on VB RunTime 6 Forms ThunderFormRT6DC"
Exit Sub
End If
То я ж говорю - вы мастдайные ламеры. незнаешь - молчи.
HACKER, что этот код делает?
Этот код перебирает все лабелы на форме по их манипуляторам, получает их Name and Caption... Приведён здесь для демонстрации возможности добраться до манипулятора лабела, путём чтения адресного пространтсва приложения.
Насколько я видел таие примеры, они выполняются со скоростью 200-300 мс, в нашем случае, если лэйбл будет небольшой, ну - 50мс. А если учесть что все это должно происходить с интервалом в 1мс, то тормоз будет налицо.
Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP
3.6 МБ
http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&displaylang=en
Предоставляет разработчикам поддержку разработки под .NET Framework 3.0 с использованием Visual Studio. Эти инструменты войдут в Visual Studio Orcas но также доступны в Visual Studio 2005.
Данный билд включает поддержку IntelySense для XAML, шаблоны для Windows Presentation Foundation и Windows Communication Foundation приложений. Также включен редактор для Windows Presentation Foundation (codename Coder).
Системные требования:
Операционная система - Windows Server 2003 SP1, Windows XP SP2, Windows Vista
Поддерживаемые версии Visual Studio (RTM): Visual Basic Express Edition, Visual C# Express Edition, Visual Web Developer Express Edition, Visual Studio Standard Edition, Visual Studio Professional Edition, Visual Studio Team System Editions.
Express-версии не поддерживают дизайнер Cider
Требуется установка .NET Framework 3.0 и Windows SDK
Требуется не менее 10 мб свободного места на диске
Данный билд extension-ов предназначен только для работы с .NET Framework 3.0 RTM и его работа с какой-либо другой версией не гарантируется.
Ты мне скажи, так для WPF нужно Framework 3.0 устанавливать?
Если да, то где я его возьму?
Александр, спасибо, у меня есть Дан Эпплман Win32 API и VISUAL BASIC. Это ж где время взять на изучение, так по верхам иногда. Я вообще рассчитывал свою проблемку решить стоя на одной ноге, а тут такое началось! Я не понял к чему относится последний твой код. Вот только что нашел в загажнике "Данное руководство написано А.Климовым" в 2001 году. Буду разбираться.
HACKER, ну ты крут! Извини, я так и не понял почему этот код у меня не работает. Мне все надо по-слогам как чайнику. Ну что тут поделаешь, и 27 пост не понял. Хотя я внутренне уже отказался от этой идеи с полу-прозрачностью лабела ввиду ее сложности, но код этот твой мог бы пригодиться мне м.б. в др месте.
Brand, точно, как упрешься рогом - так ни с места. Но у меня уже были в прошлом проблемы, которые я оставлял не решенными до лучших времен. Кстати что такое куча времени? То время которое я потратил и окажется в конце примерно 0.01% от всего времени на программу.
Не усыновленный свободный форм хорошо двигается мышкой. Это означает, что если удастся схватывать его координаты при нажатии на его заголовок(и при этом не слишком нагружать программу), то проблема будет решена.
Brand, точно, как упрешься рогом - так ни с места. Но у меня уже были в прошлом проблемы, которые я оставлял не решенными до лучших времен. Кстати что такое куча времени? То время которое я потратил и окажется в конце примерно 0.01% от всего времени на программу.
2Brand, кажется разобрался, уже качаю
http://www.microsoft.com/downloads/thankyou.aspx?familyId=10CC340B-F857-4A14-83F5-25634C3BF043&displayLang=en
Sharp
Option Explicit
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
'Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
'Private Declare Function OleTranslateColor Lib "oleaut32" (ByVal lOleColor As Long, ByVal lHPalette As Long, lColorRef As Long) As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Const RGN_OR = 2
Private Type BITMAPINFOHEADER
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFOHEADER, ByVal wUsage As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Function lGetRegion(ByVal lBackColor As Long, ByVal Picture As StdPicture) As Long
Dim lRgn As Long
Dim lSkinRgn As Long
Dim lStart As Long
Dim lX As Long
Dim lY As Long
Dim ms As Long
Dim bi As BITMAPINFOHEADER, bits() As Long, hdc As Long
With bi
.biSize = LenB(bi)
.biWidth = ScaleX(Picture.Width, vbHimetric, vbPixels)
.biHeight = ScaleY(Picture.Width, vbHimetric, vbPixels)
.biPlanes = 1
.biBitCount = 32
.biCompression = 0
ReDim bits(0 To .biWidth - 1, 0 To .biHeight - 1)
hdc = CreateCompatibleDC(0)
GetDIBits hdc, Picture, 0, bi.biHeight, bits(0, 0), bi, 0
 eleteDC (hdc)
lSkinRgn = CreateRectRgn(0, 0, 0, 0)
For lX = 0 To .biHeight - 1
lY = 0
Do While lY < .biWidth
Do While lY < .biWidth
If bits(lY, lX) <> lBackColor Then Exit Do
lY = lY + 1
Loop
If lY < .biWidth Then
lStart = lY
Do While lY < .biWidth
If bits(lY, lX) = lBackColor Then Exit Do
lY = lY + 1
Loop
If lY > .biWidth Then lY = .biWidth
lRgn = CreateRectRgn(lStart, .biHeight - lX - 1, lY, .biHeight - lX)
CombineRgn lSkinRgn, lSkinRgn, lRgn, RGN_OR
 eleteObject lRgn
End If
Loop
Next
End With
lGetRegion = lSkinRgn
End Function
Private Sub Form_DblClick()
Unload Me
End Sub
Private Sub Form_Load()
Dim lRgn As Long, Start As Long
Screen.MousePointer = 13
Show
Start = GetTickCount
lRgn = lGetRegion(RGB(239, 239, 239), Picture)
SetWindowRgn hWnd, lRgn, True
Debug.Print GetTickCount - Start
Screen.MousePointer = vbDefault
End Sub