|
11 Кб. |
|
| Вот проблема: (см. аттач).
Есть отчет.
Это типа плана работ по дням (неважно).
Ячейки могут быть белые или закрашена серым.
Красятся в событии форматировании\
типа есили что-то то : ctl.BackColor = 12632256
В событии печать:
Синяя вертикальная линия нарисована методом LINE. (Это типа переход недели - неважно).
код такой:
'Линии недель
Me.DrawWidth = 30
For inedel = 1 To kolnedel
StartX = Me.Controls("Col" & VarNedelCoord(inedel)).Left - 20
EndX = Me.Controls("Col" & VarNedelCoord(inedel)).Left - 20
StartY = Me.Controls("Col" & VarNedelCoord(inedel)).Top
EndY = Me.Controls("Col" & VarNedelCoord(inedel)).Top + lngHeight + lngHeight2
Me.Line (StartX, StartY)-(StartX, EndY), 8388608
Next
|
Если ячейка серая - линия получается за ней......
Как сделать, чтобы линия была всегда на переднем плане?
| |
|
| |
|
|
|
| BringToFront
http://msdn.microsoft.com/ru-ru/library/microsoft.visualbasic.powerpacks.shape.bringtofront.aspx
в зад
SendToBack
http://msdn.microsoft.com/ru-ru/library/microsoft.visualbasic.powerpacks.shape.sendtoback.aspx | |
|
| |
|
|
|
| Пробуем. Спасибо.
=================
Немного не то. У меня отчет. | |
|
| |
|
108 Кб. |
|
| Вечер добрый :)
Я проверил - действительно, если фон поля отличный от белого, то этот фон закрывает собой линию. Как этим управлять - не знаю.
Но обходной путь предложить могу.
Суть в следующем.
1. Фон всех полей сделать белым.
2. Цвет полям придать за счет рисования линии от верхнего левого угла поля до его правого нижнего, используя опцию BF:
object.Line [[Step](x1, y1)] - [Step](x2, y2)[, [color][, B[F]]]
Тогда вместо линии получится четырехугольник требуемого цвета
3. Рисовать линии сетки:
Me.Line (StartX, StartY)-(StartX, EndY), 8388608
Пример во вложении
Сергей | |
|
| |
|
|
|
| Про B знал,
про BF не знал.
Теперь знаю.
Спасибо, Сергей!
:) | |
|
| |
|
|
|
|
| Спасибо!
ПС Во вложении текст....абракадабра. | |
|
| |
|
|
|
| Да, действительно - во вложении черти что :( | |
|
| |