0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 5

Как печатать цветной текст с переносами?

17.08.2011, 17:13. Показов 2370. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему-то текст не желает быть цветным при печати:
Вроде все ставил - и ForeColor и шрифты, но он всё равно выводится ЧЁРНЫМ!
Help please!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.08.2011, 17:13
Ответы с готовыми решениями:

Как выводить текст с переносами строк
Делаю сайт-блог и ввожу текст статьи, при добавлении, в TextAreaFor. Выводить пробовал через DisplayTextFor, <blockquote>. Эти...

Как покозать текст с переносами без pre
Я ещё новичок в PHP и я пытаюсь написать микро-блог. У меня такая проблема, через php делаю SQL запрос, получаю статью , а html выводит...

В одной строке печатать текст с двумя пробелами между буквами , в следующей строке внизу под каждой буквой печатать ее №
Всем привет! помогите пожалуйста решить несколько задач 4 . В русском тексте каждую букву заменить ее номером в алфавите. В одной...

9
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
17.08.2011, 18:45
осталось только купить цветной принтер
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
17.08.2011, 20:52
2Konst_One: пять баллов))))))))))))))))))))
2автор: очень у тебя 'содержательный' вопрос.
Ты расскажи откуда печатаешь, что печатаешь и т.д.
0
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 5
18.08.2011, 08:30  [ТС]
исх. код
Visual Basic
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
cdl1.DialogPrompt = 'Printing: ' & lblText(acttext).Caption
cdl1.Flags = cdlPDAllPages
cdl1.CancelError = True
cdl1.ShowPrinter
If cdl1.errCancel = True Then Exit Sub
Printer.ScaleMode = vbCentimeters
Printer.CurrentX = 1
Printer.CurrentY = 1
 Printer.Font.Name = Text1.Font.Name
 Printer.Font.Size = Text1.Font.Size
 Printer.Font.Italic = Text1.Font.Italic
 Printer.Font.Strikethrough = Text1.Font.Strikethrough
 Printer.Font.Underline = Text1.Font.Underline
 Printer.ColorMode = vbPRCMColor
 Printer.FillStyle = vbFSTransparent
 Printer.ForeColor = Text1.ForeColor
 Printer.DrawMode = vbCopyPen
 Printer.DrawStyle = vbSolid
If Printer.TextWidth(Text1.Text) + 1 > Printer.ScaleWidth Then
    ret = MsgBox('Your text is larger than paper's width' & vbCrLf & 'Text will be printed with clipping.' & vbCrLf & 'Proceed?', vbCritical Or vbYesNo, 'DCP Print System')
If ret <> vbYes Then Exit Sub
End If
Printer.CurrentX = 0.2
Printer.CurrentY = 0.2
Printer.Print fname(acttext)
Printer.CurrentX = 1
Printer.CurrentY = 1
Printer.Print Text1.Text
Printer.EndDoc
0
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 5
18.08.2011, 08:34  [ТС]
принтер цветной HP 640C, кстати, господа, зачем бы я вас спрашивал, если я печатал через VB цветные картинки без проблем, а текст - не цветной.
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
18.08.2011, 14:00
Visual Basic
1
2
3
4
5
6
Private Sub Command1_Click()
Printer.ColorMode = vbPRCMColor
Printer.ForeColor = vbRed
Printer.Print '!!!!!!!!!!!'
Printer.EndDoc
End Sub
0
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 5
21.08.2011, 11:21  [ТС]
Не работает! Хотя в MS Document Image writer почему-то работает.
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
21.08.2011, 19:30
нужно для твоего дефолтного принтера открыть настройки из твоей программы и выставить галочку, что печатать надо в цветном режиме
без этого твоя прога работает с объектом Printer с настройками по-умолчанию (в которых скорее всего не выставлена цветовая схема)
0
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,748
22.08.2011, 14:18
По идее, это свойство и есть то, что надо: 'Returns or sets a value that determines whether a color printer prints output in color or monochrome. Not available at design time'.
У меня HP LJ4600, печатает без проблем.
0
0 / 0 / 0
Регистрация: 17.08.2011
Сообщений: 5
23.08.2011, 10:08  [ТС]
Скорее всего это из-за Windows XP вот один экз. кода:
Visual Basic
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Option Explicit
 
Private Const HWND_BROADCAST As Long = &HFFFF
Private Const WM_WININICHANGE As Long = &H1A
 
Private Declare Function GetProfileString Lib 'kernel32' _
   Alias 'GetProfileStringA' _
  (ByVal lpAppName As String, _
   ByVal lpKeyName As String, _
   ByVal lpDefault As String, _
   ByVal lpReturnedString As String, _
   ByVal nSize As Long) As Long
 
Private Declare Function WriteProfileString Lib 'kernel32' _
   Alias 'WriteProfileStringA' _
  (ByVal lpszSection As String, _
   ByVal lpszKeyName As String, _
   ByVal lpszString As String) As Long
 
Private Declare Function SendMessage Lib 'user32' _
   Alias 'SendMessageA' _
  (ByVal hwnd As Long, _
   ByVal wMsg As Long, _
   ByVal wParam As Long, _
   lparam As Any) As Long
 
Private Sub Form_Load()
    ProfileLoadWinIniList List1, 'PrinterPorts'
    Command1.Enabled = False
End Sub
 
Private Sub Command1_Click()
    Call SetDefaultPrinterWinNT
End Sub
 
Private Sub List1_Click()
    Command1.Enabled = List1.ListIndex > -1
End Sub
 
Private Sub SetDefaultPrinter(ByVal PrinterName As String, _
                              ByVal DriverName As String, _
                              ByVal PrinterPort As String)
Dim DeviceLine As String
 
'Строим строку для принтера
DeviceLine = PrinterName & ',' & DriverName & ',' & PrinterPort
 
'Сохранить информацию о новом принтере в секции
'[WINDOWS] файла WIN.INI для ключа DEVICE=
Call WriteProfileString('windows', 'Device', DeviceLine)
 
'Заставить все приложения перезагрузить INI-файл
Call SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, ByVal 'windows')
 
End Sub
 
Private Sub GetDriverAndPort(ByVal Buffer As String, _
        DriverName As String, PrinterPort As String)
 
Dim posDriver As Long
Dim posPort As Long
DriverName = ''
PrinterPort = ''
 
'Имя драйвера идет вначале строки
posDriver = InStr(Buffer, ',')
 
If posDriver > 0 Then
    'Получение имени драйвера
    DriverName = Left(Buffer, posDriver - 1)
    'Имя порта идет после запятой
    posPort = InStr(posDriver + 1, Buffer, ',')
    
    If posPort > 0 Then
        'Получение имени порта
        PrinterPort = Mid(Buffer, posDriver + 1, _
                posPort - posDriver - 1)
    End If
End If
   
End Sub
 
'Создаем listbox из данных win.ini
Public Function ProfileLoadWinIniList(lst As ListBox, _
        lpSectionName As String) As Long
 
 Dim success As Long
 Dim nSize As Long
 Dim lpKeyName As String
 Dim ret As String
 
 ret = Space$(8102)
 nSize = Len(ret)
 success = GetProfileString(lpSectionName, vbNullString, _
        '', ret, nSize)
 
'Возращаемая строка является списком, разделенным
'нулевыми символами
 If success Then
  
    ret = Left$(ret, success)
    Do Until ret = ''
       lpKeyName = StripNulls(ret)
       lst.AddItem lpKeyName
    Loop
 
 End If
 
'вернем число принтеров (кол-во элементов)
ProfileLoadWinIniList = lst.ListCount
 
End Function
 
Private Function StripNulls(startstr As String) As String
 
Dim pos As Long
 
pos = InStr(startstr$, Chr$(0))
  
If pos Then
    StripNulls = Mid$(startstr, 1, pos - 1)
    startstr = Mid$(startstr, pos + 1, Len(startstr))
End If
 
End Function
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2011, 10:08
Помогаю со студенческими работами здесь

Текст с переносами в запросе SQL
Здравствуйте, подскажите пожалуйста как через Qt. Попытался спрограммировать так: QSqlQuery q; QString sql = tr(&quot;UPDATE...

Записать текст с переносами в string C++
Здравствуйте! Возникла такая проблема, не могу записать текст из файла в переменную типа string. Через getline() считывается только одна...

Как печатать текст справа налево
Форумчане, приветствую Вас! Делаю визуальную клавиатуру для 3х языков. У меня возникла проблема: как вносить символы с право...

Отобразить в TextBox текст из файла вместе с переносами
Как мне сделать чтобы в TextBox текст отображался вместе с переносами. Вот код openFileDialog1.ShowDialog(); // просим выбрать файл ...

Как в TextArea или в IFRAME добавить цветной текст и обработать его
Нужно, чтобы было следующее. Чтобы была область, в которую можно что-то писать, и рядом две кнопочки. При нажатии на первую кнопочку в это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru