VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: 19900603

[原创] [开源]之另类Edit[代码着色器完美版]无权限,免金币

[复制链接]
发表于 2012-8-26 09:19:48 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

额。。。看不懂。。  发表于 2012-8-28 20:47
The Ctrl + Enter 才换行 problem is solved.  发表于 2012-8-26 09:23
回复 支持 反对

使用道具 举报

发表于 2012-8-26 09:37:31 | 显示全部楼层
  1. SetFocus Text1.hwnd
  2. SetFocus TextHwnd
复制代码
And then you can use Enter to make a new line
回复 支持 反对

使用道具 举报

发表于 2012-8-26 09:43:44 | 显示全部楼层
本帖最后由 sunfrank 于 2012-8-26 10:10 编辑

VB.NET Keywords  From MS
AddHandler
AddressOf
Alias
And
AndAlso
As
Boolean
ByRef
Byte
ByVal
Call
Case
Catch
CBool
CByte
CChar
CDate
CDec
CDbl
Char
CInt
Class
CLng
CObj
Const
Continue
CSByte
CShort
CSng
CStr
CType
CUInt
CULng
CUShort
Date
Decimal
Declare
Default
Delegate
Dim
DirectCast
Do
Double
Each
Else
ElseIf
End
EndIf
Enum
Erase
Error
Event
Exit
False
Finally
For
Friend
Function
Get
GetType
Global
GoSub
GoTo
Handles
If
Implements
Imports
In
Inherits
Integer
Interface
Is
IsNot
Let
Lib
Like
Long
Loop
Me
Mod
Module
MustInherit
MustOverride
MyBase
MyClass
Namespace
Narrowing
New
Next
Not
Nothing
NotInheritable
NotOverridable
Object
Of
On
Operator
Option
Optional
Or
OrElse
Overloads
Overridable
Overrides
ParamArray
Partial
Private
Property
Protected
Public
RaiseEvent
ReadOnly
ReDim
REM
RemoveHandler
Resume
Return
SByte
Select
Set
Shadows
Shared
Short
Single
Static
Step
Stop
String
Structure
Sub
SyncLock
Then
Throw
To
True
Try
TryCast
TypeOf
Variant
Wend
UInteger
ULong
UShort
Using
When
While
Widening
With
WithEvents
WriteOnly
Xor
回复 支持 反对

使用道具 举报

发表于 2012-8-26 10:00:47 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

呃。。。 有什么问题么  发表于 2012-8-26 10:05
回复 支持 反对

使用道具 举报

发表于 2012-8-26 10:52:59 | 显示全部楼层
WIN7,右键简单都是灰色,鼠标顺序移动一次后,正常了
回复 支持 反对

使用道具 举报

发表于 2012-8-26 11:38:44 | 显示全部楼层

更改字体会乱码,选择部分文本恢复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-26 12:43:02 | 显示全部楼层
sunfrank 发表于 2012-8-26 11:38
更改字体会乱码,选择部分文本恢复

哦?  你用什么办法改的字体啊?
CreateFont  + SendMessage Hwnd,WM_SETFONT,FontHandle

你试试
回复 支持 反对

使用道具 举报

发表于 2012-8-26 13:30:38 | 显示全部楼层
本帖最后由 sunfrank 于 2012-8-26 13:35 编辑
19900603 发表于 2012-8-26 12:43
哦?  你用什么办法改的字体啊?
CreateFont  + SendMessage Hwnd,WM_SETFONT,FontHandle


用过两种方法----1你说的2在Hook里SelectObject改。
1方法乱码2方法有时乱码,有时正常(When I select a part of a line or scroll)

1方法:

问题出在Hook代码得到的文本乱码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-26 13:45:33 | 显示全部楼层
sunfrank 发表于 2012-8-26 13:30
用过两种方法----1你说的2在Hook里SelectObject改。
1方法乱码2方法有时乱码,有时正常(When I select ...


我这办法你试试能改不 就是貌似 GetTextWidth 出错了
  我再看看
    hTextFont = CreateFontHandle(Me.Font)

SendMessage TextHwnd, WM_SETFONT, hTextFont, 1
  1. 'Create   Font
  2. Public Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
  3. Public Const LF_FACESIZE = 32
  4. Public Type LOGFONT
  5.         lfHeight As Long
  6.         lfWidth As Long
  7.         lfEscapement As Long
  8.         lfOrientation As Long
  9.         lfWeight As Long
  10.         lfItalic As Byte
  11.         lfUnderline As Byte
  12.         lfStrikeOut As Byte
  13.         lfCharSet As Byte
  14.         lfOutPrecision As Byte
  15.         lfClipPrecision As Byte
  16.         lfQuality As Byte
  17.         lfPitchAndFamily As Byte
  18.         lfFaceName(1 To LF_FACESIZE) As Byte
  19. End Type
  20. Public Const WM_SETFONT = &H30
  21. Public Const LOGPIXELSY = 90        '  Logical pixels/inch in Y
  22. Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  23. Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
  24. Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
  25. Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
  26. Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

  27. Private Function MulDiv(ByVal a As Long, ByVal b As Long, ByVal c As Long) As Long
  28.     MulDiv = a * b / c
  29. End Function

  30. Public Function CreateFontHandle(sFont As StdFont) As Long
  31.     Dim lf As LOGFONT
  32.     Dim hFont As Long, hOldFont As Long
  33.     Dim hdc As Long
  34.     hdc = GetDC(0)
  35.     lf.lfHeight = -MulDiv(sFont.Size, GetDeviceCaps(hdc, LOGPIXELSY), 72)
  36.     If sFont.Bold Then
  37.         lf.lfWeight = 700
  38.     Else
  39.         lf.lfWeight = 400
  40.     End If
  41.     lf.lfCharSet = sFont.Charset   '使用GB_2312字符集
  42.     lstrcpy lf.lfFaceName, sFont.Name
  43.     lf.lfItalic = sFont.Italic
  44.     lf.lfStrikeOut = sFont.Strikethrough
  45.     lf.lfUnderline = sFont.Underline
  46.     CreateFontHandle = CreateFontIndirect(lf)
  47.     ReleaseDC 0, hdc
  48. End Function

复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-26 13:56:32 | 显示全部楼层
怪不得。。 改字体后 绘字的方式又改变了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-3 15:56

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表