powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести данные
16 сообщений из 16, страница 1 из 1
Вывести данные
    #35348067
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь с десктопом работал ? Поправьте чтобы все данные выводил, а не одну строку

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Public Sub TestDesktopDC()
Dim hdc As Long
Dim tR As RECT
Dim lCol As Long
hdc = CreateDCAsNull("DISPLAY", ByVal  0 &, ByVal  0 &, ByVal  0 &)
'ScaleMode = vbPixels

tR.Left =  0 
tR.Top =  0 
tR.Right =  1000 
tR.Bottom =  1000 
'tR.Right = ScaleWidth
'tR.Bottom = ScaleHeight

arrMy = Split(CurrentProject.Connection.Execute("Select ïîëå2 & '    ' & ïîëå4 from òàáëèöà1 WHERE Trim(Mid((Replace(ïîëå4,mid(ïîëå4,instr(ïîëå4,'–')),'')),InStr(1,ïîëå4,'.')+1)) = '0' & Month(Date())" & _
" or Trim(Mid((Replace(ïîëå4,mid(ïîëå4,instr(ïîëå4,'–')),'')),InStr(1,ïîëå4,'.')+1)) = Month(Date()) order by ïîëå1;").GetString(adClipString, , , , ""), vbCr)

For i =  0  To UBound(arrMy)

'tp = "ffhklf" & Chr(10) + Chr(13) & "sfdfjk"
lCol = GetTextColor(hdc)
SetTextColor hdc, &HFF&
DrawText hdc, arrMy(i), Len(arrMy(i)), tR, DT_SINGLELINE Or DT_VCENTER Or DT_TABSTOP

SetTextColor hdc, lCol
DeleteDC hdc

'Debug.Print arrMy(i)
Next

'DT_SINGLELINE Or DT_VCENTER Or DT_RIGHT

End Sub

много букаф(занчений) перебирать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Const DT_BOTTOM = &H8
Private Const DT_SINGLELINE = &H20
Private Const DT_CALCRECT = &H400
Private Const DT_CENTER = &H1
Private Const DT_EDITCONTROL = &H2000
Private Const DT_END_ELLIPSIS = &H8000
Private Const DT_PATH_ELLIPSIS = &H4000
Private Const DT_EXPANDTABS = &H40
Private Const DT_EXTERNALLEADING = &H200
Private Const DT_LEFT = &H0
Private Const DT_MODIFYSTRING = &H10000
Private Const DT_NOCLIP = &H100
Private Const DT_NOPREFIX = &H800
Private Const DT_RIGHT = &H2
Private Const DT_RTLREADING = &H20000
Private Const DT_TABSTOP = &H80
Private Const DT_TOP = &H0
Private Const DT_VCENTER = &H4
Private Const DT_WORDBREAK = &H10
...
Рейтинг: 0 / 0
Вывести данные
    #35348934
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так вместо массива проверил рекордсет, все данные выводит, но только в строку, вместо переносов строки "Ъ" ставит, как вывести в столбик ?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
rst.Open "Select поле2 & '    ' & поле4 from таблица1 WHERE Trim(Mid((Replace(поле4,mid(поле4,instr(поле4,'–')),'')),InStr(1,поле4,'.')+1)) = '0' & Month(Date())" & _
" or Trim(Mid((Replace(поле4,mid(поле4,instr(поле4,'–')),'')),InStr(1,поле4,'.')+1)) = Month(Date()) order by поле1;", CurrentProject.Connection

'For i = 0 To UBound(arrMy)

'tp = "ffhklf" & Chr(10) + Chr(13) & "sfdfjk"
Do While Not rst.EOF
'tp = Split(rst.GetString(adClipString, , , , ""), vbCr)
lCol = GetTextColor(hdc)
SetTextColor hdc, &HFF&
DrawText hdc, rst.GetString,  1000 , tR, DT_SINGLELINE Or DT_VCENTER Or DT_RIGHT

SetTextColor hdc, lCol
DeleteDC hdc
Loop
'Debug.Print arrMy(i)
'Next

'DT_SINGLELINE Or DT_VCENTER Or DT_RIGHT
...
Рейтинг: 0 / 0
Вывести данные
    #35349666
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а с чего ты взял, что DrawText тебе будет параграфы рисовать. это тебе батенька все в ручную надо делать: бить строки на кусочки по размеру ширины экрана и выводить последовательно на DC с нужным разбегом и шрифтом :)
...
Рейтинг: 0 / 0
Вывести данные
    #35350118
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneа с чего ты взял, что DrawText тебе будет параграфы рисовать. это тебе батенька все в ручную надо делать: бить строки на кусочки по размеру ширины экрана и выводить последовательно на DC с нужным разбегом и шрифтом :)

блин, это такой гемор, строк то заранее неизвестное количество должно быть, а я думал сщас поиграюсь...
...
Рейтинг: 0 / 0
Вывести данные
    #35350120
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно как-нибудь сделать хотя бы чтобы надпись не затиралась телодвижениями и белый фон под ней на прозрачный заменить ? (угу, губы то раскотал :))
...
Рейтинг: 0 / 0
Вывести данные
    #35350509
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ммихалыч1
> а можно как-нибудь сделать хотя бы чтобы надпись не затиралась
> телодвижениями и белый фон под ней на прозрачный заменить ? (угу, губы то
> раскотал :))

Да :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вывести данные
    #35350514
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ммихалыч1
> а можно как-нибудь сделать хотя бы чтобы надпись не затиралась
> телодвижениями и белый фон под ней на прозрачный заменить ? (угу, губы то
> раскотал :))

Чего-то не дружу с кнопками :(

сабклась Desktop и рисуй что хошь и как хошь :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вывести данные
    #35350993
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто сабкласить окна чужих процессов нельзя. Только внедрением кода в процесс хозяина - в данном случае explorer.exe. А теперь давайте подумаем, как на это отреагируют антивирусы…
...
Рейтинг: 0 / 0
Вывести данные
    #35351197
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyПросто сабкласить окна чужих процессов нельзя. Только внедрением кода в процесс хозяина - в данном случае explorer.exe. А теперь давайте подумаем, как на это отреагируют антивирусы…


с ними как раз все в порядке, машина локальная бес какого-то доступа из вне (в первую очердь интернет), где почитать про эти сабклассы можно, а то уже и так много всего перерыл за ночь...
...
Рейтинг: 0 / 0
Вывести данные
    #35351200
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
DrawText hdc, arrMy(i), Len(arrMy(i)), tR, DT_VCENTER Or DT_TABSTOP
...
Рейтинг: 0 / 0
Вывести данные
    #35351207
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SoftParanoik
Код: plaintext
DrawText hdc, arrMy(i), Len(arrMy(i)), tR, DT_VCENTER Or DT_TABSTOP



выводит 2 буквы от текста в верхнем правом углу.
...
Рейтинг: 0 / 0
Вывести данные
    #35351289
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lCol = GetTextColor(hdc)
SetTextColor hdc, &HFF&

For i = 0 To UBound(arrMy)

'tp = "ffhklf" & Chr(10) + Chr(13) & "sfdfjk"
DrawText hdc, arrMy(i), Len(arrMy(i)), tR, DT_VCENTER Or DT_TABSTOP

'Debug.Print arrMy(i)
Next

SetTextColor hdc, lCol
DeleteDC hdc
...
Рейтинг: 0 / 0
Вывести данные
    #35351301
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Antonariy
> Просто сабкласить окна чужих процессов нельзя. Только внедрением кода
> в процесс хозяина - в данном случае explorer.exe. А теперь давайте
> подумаем, как на это отреагируют антивирусы…

Ну да. Об этом забыл :(
Спасибо

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вывести данные
    #35351346
Ммихалыч1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел такой же пример для вывода бмпэшки с установкой цветового диапазона, но тоже затирается
...
Рейтинг: 0 / 0
Вывести данные
    #35351473
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invalidate потому что нужно делать, но думаю, что проще тебе найти пример на planetsourcecode
...
Рейтинг: 0 / 0
Вывести данные
    #35352055
SoftParanoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пример

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, lpDeviceName As Long, lpOutput As Long, lpInitData As Long) As Long

Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long

Private Declare Function DeleteDC Lib "gdi32" Alias "DeleteDC" (ByVal hdc As Long) As Long

Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type

Private Const DT_LEFT = &H0

Private Sub Command1_Click()
    Dim v As String
    Dim r As RECT
    Dim h As Long
    
    h = CreateDC("DISPLAY",  0 ,  0 ,  0 )
    With r
        .Left =  0 
        .Top =  0 
        .Right =  1000 
        .Bottom =  1000 
    End With
        
    v = "Приветик!!!" + vbCr + "Hello" + vbCr + "Word !!!"
    
    DrawText h, v, Len(v), r, DT_LEFT
    
    DeleteDC h
End Sub
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]