有没有哪位兄弟在VB中使用sendmessage对TreeView改变背景色?我现在遇到一个问题,如果把linestyle设为1 的时候,展开节点的时候root部位会
有一个下拉的白色块,如果设为1 的时候,可以消除这种情况,但是新的问题是每一个节点如果处于该级的最后一个并且也有childnode 的时候就又出现了
白色的背景块?如何解决? 
我的源码是:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long,_
ByVal wParam As Long, lParam As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long,_
ByVal dwNewLong As Long) As Long

Private Const GWL_STYLE = -16&
Private Const TVM_SETBKCOLOR = 4381&
Private Const TVM_GETBKCOLOR = 4383&
Private Const TVS_HASLINES = 2&

Private Sub ApplyTRVBackColor(ByVal sColor As Long)
Dim lngStyle As Long, iNode As Node
TreeView1.LineStyle = tvwTreeLines
Call SendMessage(TreeView1.hWnd, TVM_SETBKCOLOR, 0, ByVal sColor)
lngStyle = GetWindowLong(TreeView1.hWnd, GWL_STYLE)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Call SetWindowLong(TreeView1.hWnd, GWL_STYLE, lngStyle)
For Each iNode In TreeView1.Nodes
    iNode.BackColor = sColor
Next
End Sub
如果使用图标,请将imagelist 的backcolor也设置成sColor.
这么做的问题就有上述问题,请教高手解答.

 分享到: 
 
wangxuejun
wangxuejun
等级:
#1 得分:0回复于: 2005-07-22 10:00:43
这个问题用简单的API是处理不了的,至少你的图标下无法添充上背景色,看看微软制作帮助文档的HTML Help Workshop,
左侧目录树当设置背景色时图标也
是无法上色的。
我建议你用背景图进行目录区重画,如果你必须使用这种背景色,只需要将选定的背景色去为一个IMAGE图片上图背景,
再用这个IMAGE图形去刷新目录树背景就
可以了,
这种方法还可以用任意图形作目录树背景,效果非常棒。如果你需要我要以帖上处理代码。
bjwanghui
bjwanghui
等级:
#2 得分:0回复于: 2005-07-23 21:28:39
谢谢你 wangxuejun,图标区是可以上色的,就是将imagelist 的backcolor也设置成sColor,我不能处理的就是那个\每一个节点如果
处于该级的最后一个并且
也有childnode 的时候就又出现了白色的背景块的问题,能贴上你的处理方法吗?愿以100分相谢!
wangxuejun
wangxuejun
等级:
#3 得分:20回复于: 2005-07-27 19:38:53
在窗体上放置一IMAGE控件改名为Img(大小无所谓),加载一幅图片(当然可以加载一幅纯单色的图片,这就是你说的背景色了!);
再放置一个TreeView1,
将以下代码复制帖入窗体
代码中:

Option Explicit
Private Sub Form_Load()
Subclass Me, TreeView1
Dim Root As Node
'Add some items
With TreeView1.Nodes
Set Root = .Add(, , , "Top-level Node #1")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #2")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #3")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #4")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
End With
End Sub

Public Sub TreeViewMessage(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _

ByVal lParam As Long, _
RetVal As Long, _
UseRetVal As Boolean)
Static InProc As Boolean
Dim ps As PAINTSTRUCT
Dim TVDC As Long, drawDC1 As Long, drawDC2 As Long
Dim oldBMP1 As Long, drawBMP1 As Long
Dim oldBMP2 As Long, drawBMP2 As Long
Dim x As Long, y As Long, w As Long, h As Long
Dim TVWidth As Long, TVHeight As Long

If wMsg = WM_PAINT Then
  If InProc = True Then
      Exit Sub
  End If
  InProc = True
  TVWidth = TreeView1.width \ Screen.TwipsPerPixelX
  TVHeight = TreeView1.Height \ Screen.TwipsPerPixelY
  w = ScaleX(Img.Picture.width, vbHimetric, vbPixels)
  h = ScaleY(Img.Picture.Height, vbHimetric, vbPixels)
  Call BeginPaint(hWnd, ps)
  TVDC = ps.hDC
  drawDC1 = CreateCompatibleDC(TVDC)
  drawBMP1 = CreateCompatibleBitmap(TVDC, TVWidth, TVHeight)
  oldBMP1 = SelectObject(drawDC1, drawBMP1)
  drawDC2 = CreateCompatibleDC(TVDC)
  drawBMP2 = CreateCompatibleBitmap(TVDC, TVWidth, TVHeight)
  oldBMP2 = SelectObject(drawDC2, drawBMP2)
  SendMessage hWnd, WM_PAINT, drawDC1, ByVal 0&
  For y = 0 To TVHeight Step h
    For x = 0 To TVWidth Step w
      PaintNormalStdPic drawDC2, x, y, w, h, Img.Picture, 0, 0
    Next
  Next
  PaintTransparentDC drawDC2, 0, 0, TVWidth, TVHeight, drawDC1, 0, 0, _

TranslateColor(vbWindowBackground)
  BitBlt TVDC, 0, 0, TVWidth, TVHeight, drawDC2, 0, 0, vbSrcCopy
  SelectObject drawDC1, oldBMP1
  SelectObject drawDC2, oldBMP2
  DeleteObject drawBMP1
  DeleteObject drawBMP2
  EndPaint hWnd, ps
  RetVal = 0
  UseRetVal = True
  InProc = False
ElseIf wMsg = WM_ERASEBKGND Then
  RetVal = 1
  UseRetVal = True
ElseIf wMsg = WM_HSCROLL Or wMsg = WM_VSCROLL Or wMsg = WM_MOUSEWHEEL Then
  InvalidateRect hWnd, 0, 0
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
UnSubclass TreeView1
End Sub

wangxuejun
wangxuejun
等级:
#4 得分:0回复于: 2005-07-27 19:40:57
Option Explicit
Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Public Type PAINTSTRUCT
    hDC As Long
    fErase As Long
    rcPaint As RECT
    fRestore As Long
    fIncUpdate As Long
    rgbReserved As Byte
End Type

Declare Function BeginPaint Lib "user32" (ByVal hWnd As Long, lpPaint As PAINTSTRUCT) As Long
Declare Function EndPaint Lib "user32" (ByVal hWnd As Long, lpPaint As PAINTSTRUCT) As Long
Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, _

ByVal nHeight As Long) As Long
Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long,_
ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Declare Function InvalidateRect Lib "user32" (ByVal hWnd As Long, ByVal lpRect As Long, _
ByVal bErase As Long) As Long

Public Const WM_PAINT = &HF
Public Const WM_ERASEBKGND = &H14
Public Const WM_HSCROLL = &H114
Public Const WM_VSCROLL = &H115
Public Const WM_MOUSEWHEEL = &H20A

Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSrc As Any,_

ByVal dwLen As Long)

Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _

ByVal nIndex As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long,_
ByVal nIndex As Long,_
ByVal dwNewLong As Long) As Long
Const GWL_WNDPROC = (-4)
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA"_
(ByVal lpPrevWndFunc As Long,_
ByVal hWnd As Long, _
ByVal Msg As Long,
ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function GetProp Lib "user32" Alias "GetPropA" (ByVal hWnd As Long, _
ByVal lpString As String) As Long
Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hWnd As Long, _
ByVal lpString As String, _
ByVal hData As Long) As Long
Declare Function RemoveProp Lib "user32" Alias "RemovePropA" (ByVal hWnd As Long, _
ByVal lpString As String) As Long

Private m_hpalHalftone As Long
Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Declare Function SetBkColor Lib "gdi32" (ByVal hDC As Long, ByVal crColor As Long) As Long
Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Declare Function SetTextColor Lib "gdi32" (ByVal hDC As Long, ByVal crColor As Long) As Long
Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, _

ByVal nPlanes As Long, _
ByVal nBitCount As Long,_
lpBits As Any) As Long
Declare Function GetBkColor Lib "gdi32" (ByVal hDC As Long) As Long
Declare Function GetTextColor Lib "gdi32" (ByVal hDC As Long) As Long
Declare Function SelectPalette Lib "gdi32" (ByVal hDC As Long, ByVal hPalette As Long,_
ByVal bForceBackground As Long) As Long
Declare Function RealizePalette Lib "gdi32" (ByVal hDC As Long) As Long
Declare Function OleTranslateColor Lib "oleaut32.dll" (ByVal lOleColor As Long, _
ByVal lHPalette As Long,_
lColorRef As Long) As Long
Declare Function DrawIconEx Lib "user32" (ByVal hDC As Long, ByVal xLeft As Long, _
ByVal yTop As Long, _
ByVal hIcon As Long,_
ByVal cxWidth As Long,_
ByVal cyHeight As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, _
ByVal diFlags As Long) As Long
Declare Function FillRect Lib "user32" (ByVal hDC As Long, lpRect As RECT, _
ByVal hBrush As Long) As Long

Public Const DI_NORMAL = &H3
Public Const DSna = &H220326
Public Const giINVALID_PICTURE As Integer = 481

Public Function TranslateColor(inCol As Long) As Long
Dim retCol As Long
OleTranslateColor inCol, 0&, retCol
TranslateColor = retCol
End Function

Public Sub PaintNormalStdPic(ByVal hdcDest As Long, ByVal xDest As Long, _

ByVal yDest As Long, _
ByVal width As Long, _
ByVal Height As Long,ByVal picSource As Picture, ByVal xSrc As Long, ByVal ySrc As Long, _
Optional ByVal hPal As Long = 0)
  Dim hdcTemp As Long
  Dim hPalOld As Long
  Dim hbmMemSrcOld As Long
  Dim hdcScreen As Long
  Dim hbmMemSrc As Long
  If picSource Is Nothing Then GoTo PaintNormalStdPic_InvalidParam
  Select Case picSource.Type
    Case vbPicTypeBitmap
      If hPal = 0 Then hPal = m_hpalHalftone
      hdcScreen = GetDC(0&)
      hdcTemp = CreateCompatibleDC(hdcScreen)
      hPalOld = SelectPalette(hdcTemp, hPal, True)
      RealizePalette hdcTemp
      hbmMemSrcOld = SelectObject(hdcTemp, picSource.Handle)
      BitBlt hdcDest, xDest, yDest, width, Height, hdcTemp, xSrc, ySrc, vbSrcCopy
      SelectObject hdcTemp, hbmMemSrcOld
      SelectPalette hdcTemp, hPalOld, True
      RealizePalette hdcTemp
      DeleteDC hdcTemp
      ReleaseDC 0&, hdcScreen
    Case vbPicTypeIcon
      DrawIconEx hdcDest, xDest, yDest, picSource.Handle, 0, 0, 0&, 0&, DI_NORMAL
    Case Else
      GoTo PaintNormalStdPic_InvalidParam
  End Select
  Exit Sub
PaintNormalStdPic_InvalidParam:
  Err.Raise giINVALID_PICTURE
End Sub
wangxuejun
wangxuejun
等级:
#5 得分:0回复于: 2005-07-27 19:42:02
Public Sub PaintTransparentDC(ByVal hdcDest As Long, ByVal xDest As Long, _
ByVal yDest As Long, _
ByVal width As Long, _
ByVal Height As Long, 
ByVal hdcSrc As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal clrMask As OLE_COLOR, _
Optional ByVal hPal As Long = 0)
  Dim hdcMask As Long
  Dim hdcColor As Long
  Dim hbmMask As Long
  Dim hbmColor As Long
  Dim hbmColorOld As Long
  Dim hbmMaskOld As Long
  Dim hPalOld As Long
  Dim hdcScreen As Long
  Dim hdcScnBuffer As Long
  Dim hbmScnBuffer As Long
  Dim hbmScnBufferOld As Long
  Dim hPalBufferOld As Long
  Dim lMaskColor As Long
  
  hdcScreen = GetDC(0&)
  If hPal = 0 Then
      hPal = m_hpalHalftone
  End If
  OleTranslateColor clrMask, hPal, lMaskColor
  hbmScnBuffer = CreateCompatibleBitmap(hdcScreen, width, Height)
  hdcScnBuffer = CreateCompatibleDC(hdcScreen)
  hbmScnBufferOld = SelectObject(hdcScnBuffer, hbmScnBuffer)
  hPalBufferOld = SelectPalette(hdcScnBuffer, hPal, True)
  RealizePalette hdcScnBuffer
  BitBlt hdcScnBuffer, 0, 0, width, Height, hdcDest, xDest, yDest, vbSrcCopy
  hbmColor = CreateCompatibleBitmap(hdcScreen, width, Height)
  hbmMask = CreateBitmap(width, Height, 1, 1, ByVal 0&)
  hdcColor = CreateCompatibleDC(hdcScreen)
  hbmColorOld = SelectObject(hdcColor, hbmColor)
  hPalOld = SelectPalette(hdcColor, hPal, True)
  RealizePalette hdcColor
  SetBkColor hdcColor, GetBkColor(hdcSrc)
  SetTextColor hdcColor, GetTextColor(hdcSrc)
  BitBlt hdcColor, 0, 0, width, Height, hdcSrc, xSrc, ySrc, vbSrcCopy
  hdcMask = CreateCompatibleDC(hdcScreen)
  hbmMaskOld = SelectObject(hdcMask, hbmMask)
  SetBkColor hdcColor, lMaskColor
  SetTextColor hdcColor, vbWhite
  BitBlt hdcMask, 0, 0, width, Height, hdcColor, 0, 0, vbSrcCopy
  SetTextColor hdcColor, vbBlack
  SetBkColor hdcColor, vbWhite
  BitBlt hdcColor, 0, 0, width, Height, hdcMask, 0, 0, DSna
  BitBlt hdcScnBuffer, 0, 0, width, Height, hdcMask, 0, 0, vbSrcAnd
  BitBlt hdcScnBuffer, 0, 0, width, Height, hdcColor, 0, 0, vbSrcPaint
  BitBlt hdcDest, xDest, yDest, width, Height, hdcScnBuffer, 0, 0, vbSrcCopy
  DeleteObject SelectObject(hdcColor, hbmColorOld)
  SelectPalette hdcColor, hPalOld, True
  RealizePalette hdcColor
  DeleteDC hdcColor
  DeleteObject SelectObject(hdcScnBuffer, hbmScnBufferOld)
  SelectPalette hdcScnBuffer, hPalBufferOld, True
  RealizePalette hdcScnBuffer
  DeleteDC hdcScnBuffer
  DeleteObject SelectObject(hdcMask, hbmMaskOld)
  DeleteDC hdcMask
  ReleaseDC 0&, hdcScreen
End Sub

Public Sub PaintTransparentStdPic(ByVal hdcDest As Long, _
ByVal xDest As Long, _
ByVal yDest As Long, _
ByVal width As Long, _
ByVal Height As Long, _
ByVal picSource As Picture, _
ByVal xSrc As Long, _
ByVal ySrc As Long, _
ByVal clrMask As OLE_COLOR, _
Optional ByVal hPal As Long = 0)

Dim hdcSrc As Long
Dim hbmMemSrcOld As Long
Dim hbmMemSrc As Long
Dim udtRect As RECT
Dim hbrMask As Long
Dim lMaskColor As Long
Dim hdcScreen As Long
Dim hPalOld As Long
If picSource Is Nothing Then GoTo PaintTransparentStdPic_InvalidParam

Select Case picSource.Type
  Case vbPicTypeBitmap
    hdcScreen = GetDC(0&)
    If hPal = 0 Then hPal = m_hpalHalftone
    hdcSrc = CreateCompatibleDC(hdcScreen)
    hbmMemSrcOld = SelectObject(hdcSrc, picSource.Handle)
    hPalOld = SelectPalette(hdcSrc, hPal, True)
    RealizePalette hdcSrc
    PaintTransparentDC hdcDest, xDest, yDest, width, Height, hdcSrc, xSrc, ySrc, clrMask, hPal
    SelectObject hdcSrc, hbmMemSrcOld
    SelectPalette hdcSrc, hPalOld, True
    RealizePalette hdcSrc
    DeleteDC hdcSrc
    ReleaseDC 0&, hdcScreen
  Case vbPicTypeIcon
    hdcScreen = GetDC(0&)
    If hPal = 0 Then hPal = m_hpalHalftone
    hdcSrc = CreateCompatibleDC(hdcScreen)
    hbmMemSrc = CreateCompatibleBitmap(hdcScreen, width, Height)
    hbmMemSrcOld = SelectObject(hdcSrc, hbmMemSrc)
    hPalOld = SelectPalette(hdcSrc, hPal, True)
    RealizePalette hdcSrc
    udtRect.Bottom = Height
    udtRect.Right = width
    OleTranslateColor clrMask, 0&, lMaskColor
    hbrMask = CreateSolidBrush(lMaskColor)
    FillRect hdcSrc, udtRect, hbrMask
    DeleteObject hbrMask
    DrawIconEx hdcSrc, 0, 0, picSource.Handle, 0, 0, 0, 0, DI_NORMAL
    PaintTransparentDC hdcDest, xDest, yDest, width, Height, hdcSrc, 0, 0, lMaskColor, hPal
    DeleteObject SelectObject(hdcSrc, hbmMemSrcOld)
    SelectPalette hdcSrc, hPalOld, True
    RealizePalette hdcSrc
    DeleteDC hdcSrc
    ReleaseDC 0&, hdcScreen
  Case Else
    GoTo PaintTransparentStdPic_InvalidParam
End Select
Exit Sub
PaintTransparentStdPic_InvalidParam:
End Sub

Public Sub Subclass(frm As Form, tv As TreeView)
Dim lProc As Long
If GetProp(tv.hWnd, "VBTWndProc") <> 0 Then Exit Sub
lProc = GetWindowLong(tv.hWnd, GWL_WNDPROC)
SetProp tv.hWnd, "VBTWndProc", lProc
SetProp tv.hWnd, "VBTWndPtr", ObjPtr(frm)
SetWindowLong tv.hWnd, GWL_WNDPROC, AddressOf WndProcTV
End Sub

Public Sub UnSubclass(tv As TreeView)
Dim lProc As Long
lProc = GetProp(tv.hWnd, "VBTWndProc")
If lProc = 0 Then Exit Sub
SetWindowLong tv.hWnd, GWL_WNDPROC, lProc
RemoveProp tv.hWnd, "VBTWndProc"
RemoveProp tv.hWnd, "VBTWndPtr"
End Sub

Public Function WndProcTV(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _

ByVal lParam As Long) As Long
On Error Resume Next
Dim lProc As Long
Dim lPtr As Long
Dim tmpForm As Form
Dim bUseRetVal As Boolean
Dim lRetVal As Long

bUseRetVal = False
lProc = GetProp(hWnd, "VBTWndProc")
lPtr = GetProp(hWnd, "VBTWndPtr")
CopyMemory tmpForm, lPtr, 4
tmpForm.TreeViewMessage hWnd, wMsg, wParam, lParam, lRetVal, bUseRetVal
CopyMemory tmpForm, 0&, 4
If bUseRetVal = True Then
  WndProcTV = lRetVal
Else
  WndProcTV = CallWindowProc(lProc, hWnd, wMsg, wParam, lParam)
End If
End Function

'这帖和上帖都放入一个模块Module1中,然后运行看看效果吧!

设置Treeview背景色的问题1的更多相关文章

  1. 设置TreeView背景色

    以下为在Csdn上找到的Treeview资源管理器代码,怎样改变其背景色?用:SendMessage SysTreeWindow,TVM_SETBKCOLOR,0,byval RGB(255,255, ...

  2. Android Material适配 为控件设置指定背景色和点击波纹效果

    Android Material适配 为控件设置指定背景色和点击波纹效果,有需要的朋友可以参考下. 大部分时候,我们都需要为控件设置指定背景色和点击效果 4.x以下可以使用selector,5.0以上 ...

  3. C# WinForm设置TreeView选中节点

    这里假定只有两级节点,多级方法类似.遍历节点,根据选中节点文本找到要选中的节点.treeView.SelectedNode = selectNode; /// <summary> /// ...

  4. React Native 设置RGBA背景色

    React Native 设置RGBA背景色: 可以先用Mac自带吸色工具,获取RGB值,然后设置背景如下: backgroundColor: 'rgba(52, 52, 52, 0.8)', 透明度 ...

  5. 由设置body线性背景色引发的问题-----当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡

    问题:当声明文档类型时,对body设置线性背景色,页面背景色无法整体线性过渡 不声明文档类型时,对body设置线性背景色 <HTML> <head> <meta char ...

  6. CSS布局与定位——height百分比设置无效/背景色不显示

    CSS布局与定位——height百分比设置无效/背景色不显示 html元素属性width和height的值有两种表达方式,一是固定像素如“100px”,一是百分比如“80%”, 使用百分比的好处是元素 ...

  7. JS---案例:点击按钮设置div背景色渐变

    案例:点击按钮设置div背景色渐变 背景色渐变:设置透明度 <div id="dv"></div> <input type="button& ...

  8. Java 为 Excel 中的行设置交替背景色

    在制作Excel表格时,通过将数据表中上下相邻的两行用不同的背景色填充,可以使各行的数据看起来更清楚,避免看错行,同时也能增加Excel表格的美观度.本文将介绍如何在Java程序中为 Excel 奇数 ...

  9. 使用POI设置excel背景色

    HSSFCellStyle setBorder1 = workbook.createCellStyle(); HSSFFont font1 = workbook.createFont(); font1 ...

随机推荐

  1. PHP中的 变量 与 常量 详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  2. 多线程编程中条件变量和的spurious wakeup 虚假唤醒

    1. 概述 条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制.典型的场景包括生产者-消费者模型,线程池实现等. 对条件变量的使用包括两个动作: 1) 线程等待 ...

  3. C#实现ATM自动取款机

    本篇用C#实现ATM自动取款机的一些功能.面临的第一个问题是:如何把与自动取款机相关的有形的.无形的方面抽象出来.大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankD ...

  4. 如何使用C#关键字const,readonly,static

    如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const ● const默认是静 ...

  5. UML:概要设计,用什么画我的类图?

    背景 做过需求之后,很少使用 UML 画概要设计,这几天尝试的用了几个工具,最总还是选择了 VisualStudio. Edraw 详细信息很难编辑,如:签名. Viso 添加成员太麻烦了. Visu ...

  6. java表格 JTable实例 (带滚动条,内嵌选择框)

    import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.JScrollPa ...

  7. cocos编译Android版本号问题总结

    今天编译cocos2d-x项目到Android平台遇到编译不通过的问题,编译错误提示是一堆乱码. 主要原因有: 1.文件编码格式错误 或 换行符格式错误,改动方法为,在VS2012里面选择 文件-&g ...

  8. sql的嵌套查询,把一次查询的结果做为表继续进一步查询;内联视图

    Mysql的嵌套表查询 嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值.子查询可以: 出现在Where子句中, 出现在from子句中,作为一个临时表使用, ...

  9. ldap客户端以及jenkins的配置

    1.http://www.ldapbrowsermac.com/ 分免费版和收费版,使用免费版即可.请使用正确的协议,不然,中文会乱码:支持两种LDAP v3和LDAP v2 2.https://di ...

  10. IOS中键盘隐藏几种方式

    在ios开发中,经常需要输入信息.输入信息有两种方式: UITextField和UITextView.信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式. <一> 点击键盘上的 ...