powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Разворот текста в
6 сообщений из 6, страница 1 из 1
Разворот текста в
    #37284380
vah-smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините за нубовский вопрос, но как повернуть текст, чтобы он был снизу-вверх (при задании свойства для надписи "По вертикали"="Да" - направление текста сверху-вних)?
...
Рейтинг: 0 / 0
Разворот текста в
    #37284384
ё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ё
Гость
vah-smileИзвините за нубовский вопрос, но как повернуть текст, чтобы он был снизу-вверх (при задании свойства для надписи "По вертикали"="Да" - направление текста сверху-вних)?
Вопросы по форматированию полей п.4
...
Рейтинг: 0 / 0
Разворот текста в
    #37331662
CS_Demon_SL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ё,
Вот же лажа! Картинки устанешь лепить! А если отчет - это табличка с разной шириной поля, границы которого программно очерчивается и шрифт должен быть строго определенного размера?
Вот что я нашел(для vba), сейчас кручу-верчу. Может попробуете, кто по опытней и отпишетесь (мне вот табличку надо нарисовать в отчете, как я на выше описал).
Помещаем в стандартный модуль:
Код: 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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
Option Explicit 

Public Const LF_FACESIZE     As Long =  32 & 
Public Const OBJ_FONT        As Long =  6 & 

Public Type LOGFONT 
  lfHeight         As Long 
  lfWidth          As Long 
  lfEscapement     As Long 
  lfOrientation    As Long 
  lfWeight         As Long 
  lfItalic         As Byte 
  lfUnderline      As Byte 
  lfStrikeOut      As Byte 
  lfCharSet        As Byte 
  lfOutPrecision   As Byte 
  lfClipPrecision  As Byte 
  lfQuality        As Byte 
  lfPitchAndFamily As Byte 
  lfFaceName( 1  To LF_FACESIZE) As Byte 
End Type 

Public Declare Function GetCurrentObject Lib "gdi32" _ 
  (ByVal hdc As Long, ByVal uObjectType As Long) As Long 
' GetObject bp API переименована, чтобы не затеняла GetObject из VB. 
Public Declare Function GetObjectDC Lib "gdi32" Alias "GetObjectA" _ 
  (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long 
Public Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" _ 
  (lpLogFont As LOGFONT) As Long 
Public Declare Function SelectObject Lib "gdi32" _ 
  (ByVal hdc As Long, ByVal hObject As Long) As Long 
Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" _ 
  (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _ 
   ByVal lpString As String, ByVal nCount As Long) As Long 
Public Declare Function DeleteObject Lib "gdi32" _ 
  (ByVal hObject As Long) As Long 

Public Sub DrawStr(ByVal hdc As Long, _ 
                   txt As String, _ 
                   ByVal curX As Long, ByVal curY As Long, _ 
                   ByVal angle As Long) 
  Dim hfnt As Long, hfntPrev As Long, lfont As LOGFONT 
  hfntPrev = GetCurrentObject(hdc, OBJ_FONT) 
  GetObjectDC hfntPrev, Len(lfont), lfont 
  lfont.lfEscapement = angle 
  lfont.lfOrientation = angle 
  hfnt = CreateFontIndirect(lfont) 
  hfntPrev = SelectObject(hdc, hfnt) 
  TextOut hdc, curX, curY, txt, Len(txt) 
  SelectObject hdc, hfntPrev 
  DeleteObject hfnt 
End Sub

curX и curY задают координаты начала текста в пикселах.
angle задает угол поворота в десятых долях градусов. Чтобы повернуть на 90 градусов, нужно задавать 900.

Пример использования. На форме нет ничего, кроме таймера Timer1.
Помещаем в модуль формы.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Option Explicit 

Private angle As Long 

Private Sub Form_Load() 
  Me.ScaleMode = vbPixels 
  Me.AutoRedraw = True 
  Timer1.Interval =  120  
  Timer1.Enabled = True 
End Sub 

Private Sub Timer1_Timer() 
  angle = angle +  60  
  If angle >  3600  Then angle = angle -  3600  
  Me.Cls 
  DrawStr Me.hdc, "Крутим, как хотим", Me.ScaleWidth /  2 , Me.ScaleHeight /  2 , angle 
End Sub
Выбираем подходящий фонт и запускаем.

Тока у меня пока не получилось :-)
...
Рейтинг: 0 / 0
Разворот текста в
    #37332132
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CS_Demon_SL,

это VB-шная версия того же, по сути, что у Лебанса (п. 4).
...
Рейтинг: 0 / 0
Разворот текста в
    #37340856
lexalex_84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://am.rusimport.ru/MSAccess/topic.aspx?ID=131 посмотрите здесь.... скачайте подключите библиотеку, и Усе у Вас заработет....
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Разворот текста в
    #39160499
Фотография NickBell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lexalex_84 http://am.rusimport.ru/MSAccess/topic.aspx?ID=131 посмотрите здесь.... скачайте подключите библиотеку, и Усе у Вас заработет....

Мне нужно одно поле повернуть на 45 нрадусов.

С этого сайта я скачала, но что дальше делать, не разобралась и какую библиотеку надо подключить?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Разворот текста в
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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