Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Как определить Handle Label-a? Добавлено: 31.12.06 16:58  

Автор вопроса:  Tur | ICQ: 201446364 

Ответить

  Ответы Всего ответов: 48  

Номер ответа: 31
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #31
Добавлено: 03.01.07 00:42
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.

Ответить

Номер ответа: 32
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #32 Добавлено: 03.01.07 02:21
ну пипец же вы нудные... читайте мои посты внимательнее! Все кто несмог запустить пример и кричит
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... Приведён здесь для демонстрации возможности добраться до манипулятора лабела, путём чтения адресного пространтсва приложения.

Ответить

Номер ответа: 33
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #33
Добавлено: 03.01.07 11:51
Sharp, быстро, но недостаточно.

Насколько я видел таие примеры, они выполняются со скоростью 200-300 мс, в нашем случае, если лэйбл будет небольшой, ну - 50мс. А если учесть что все это должно происходить с интервалом в 1мс, то тормоз будет налицо.

хотя битмап сам по себе вещь хорошая

Ответить

Номер ответа: 34
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #34
Добавлено: 03.01.07 11:58
2Brand
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 устанавливать?
Если да, то где я его возьму?

Ответить

Номер ответа: 35
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #35
Добавлено: 03.01.07 12:07
Tur
Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As INPUT_TYPE, ByVal cbSize As Long) As Long

Type MOUSEINPUT
  dx As Long
  dy As Long
  mouseData As Long
  dwFlags As Long
  time As Long
  dwExtraInfo As Long
End Type

Type INPUT_TYPE
  dwType As Long
  xi(0 To 23) As Byte
End Type

Const INPUT_MOUSE = 0
+ знакомые тебе GetCursorPos

ты приобрел АПИ справочник?

Ответить

Номер ответа: 36
Автор ответа:
 Tur



ICQ: 201446364 

Вопросов: 22
Ответов: 72
 Профиль | | #36 Добавлено: 03.01.07 13:44
Александр, спасибо, у меня есть Дан Эпплман Win32 API и VISUAL BASIC. Это ж где время взять на изучение, так по верхам иногда. Я вообще рассчитывал свою проблемку решить стоя на одной ноге, а тут такое началось! Я не понял к чему относится последний твой код. Вот только что нашел в загажнике "Данное руководство написано А.Климовым" в 2001 году. Буду разбираться.

HACKER, ну ты крут! Извини, я так и не понял почему этот код у меня не работает. Мне все надо по-слогам как чайнику. Ну что тут поделаешь, и 27 пост не понял. Хотя я внутренне уже отказался от этой идеи с полу-прозрачностью лабела ввиду ее сложности, но код этот твой мог бы пригодиться мне м.б. в др месте.

Brand, точно, как упрешься рогом - так ни с места. Но у меня уже были в прошлом проблемы, которые я оставлял не решенными до лучших времен. Кстати что такое куча времени? То время которое я потратил и окажется в конце примерно 0.01% от всего времени на программу.

Не усыновленный свободный форм хорошо двигается мышкой. Это означает, что если удастся схватывать его координаты при нажатии на его заголовок(и при этом не слишком нагружать программу), то проблема будет решена.

Ответить

Номер ответа: 37
Автор ответа:
 Tur



ICQ: 201446364 

Вопросов: 22
Ответов: 72
 Профиль | | #37 Добавлено: 03.01.07 14:34
Как выясняется Климов у меня полу-пустой. Если есть у кого пришлите его мне пожалуйста.

Ответить

Номер ответа: 38
Автор ответа:
 Tur



ICQ: 201446364 

Вопросов: 22
Ответов: 72
 Профиль | | #38 Добавлено: 03.01.07 14:36
tur91ster@gmail.com

Ответить

Номер ответа: 39
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #39
Добавлено: 03.01.07 15:15
Sharp, быстро, но недостаточно

Пробовал? Если да, выложи код и бенчмарки

Ответить

Номер ответа: 40
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #40 Добавлено: 03.01.07 16:01
Ты мне скажи, так для WPF нужно Framework 3.0 устанавливать?
Если да, то где я его возьму?

.NET Framework 3.0 нужно устанавливать.
Если бы ты потрудился внимательно прочитать пост, нашел бы ссылку на .NET Framework 3.0 Runtime Components.

Ответить

Номер ответа: 41
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #41 Добавлено: 03.01.07 16:05
Brand, точно, как упрешься рогом - так ни с места. Но у меня уже были в прошлом проблемы, которые я оставлял не решенными до лучших времен. Кстати что такое куча времени? То время которое я потратил и окажется в конце примерно 0.01% от всего времени на программу.

Ты гля какой крутой. Тогда бери и юзай WPF.

Ответить

Номер ответа: 42
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #42
Добавлено: 03.01.07 16:39
Brand
ты это имел в виду:
http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx


вот это?
.NET Framework 3.0 Runtime Components - это фреймворк, или это компоненты к нему...?


Tur
1) http://www.megaflash.ru/prog/vbe20/index.htm
2) http://www.megalib.com/item_show.htm?iditem=922&idsubject=31&action=item_show

Ответить

Номер ответа: 43
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #43
Добавлено: 03.01.07 17:04
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
    ;DeleteDC (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
                ;DeleteObject 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

Ответить

Номер ответа: 44
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #44 Добавлено: 03.01.07 20:45
2 Tur сорр за наезд, сессия, нервы :)

Ответить

Номер ответа: 45
Автор ответа:
 Tur



ICQ: 201446364 

Вопросов: 22
Ответов: 72
 Профиль | | #45 Добавлено: 03.01.07 20:51
Александр, большое спасибо! Все установил. Здорово! Осталось время найти для изучения ))
А что это за последний код? Или это не ко мне.

Brand, ты о чем? я здесь чайник номер один.
Так зачем мне WPF? Объясни. Ты же вроде согласился что он мне не нужен?

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам