PDA

View Full Version : کد New و گذاشتن تصویر کنار گزینه های منو



baran66
پنج شنبه 27 اردیبهشت 1386, 01:45 صبح
سلام دوستان!
من این کد رو برای گزینه ی New نوشتم. اما کاری انجام نمی ده و صفحه رو پاک نمی کنه!
اشکالی داره این کد؟
و اگر بخوام در منوها یی که باز می شه برای هر گزینه یک تصویر اختصاص بدم باید چطور عمل کنم؟!
و این که کدهای تراز بندی متن هم احتیاج دارم. کدهایی که متن رو چپ چین یا وسط چین و... تنظیم کند.
ممنونم و کد رو هم در زیر نوشتم!


If Not modifi Then
RichTextBox1.Clear()
modifi = False
fname = ""
Form1.ActiveForm.Text = " New Note"
End If

noorsoft
پنج شنبه 27 اردیبهشت 1386, 05:16 صبح
لازم نیست برای پاک کردن تکست این همه کد بنویسی فقط هر جا می خوای متن پاک بشه Clear کن
در رابطه با منوها و گذاشتن آیکون هم از Api باید استفاده کنی برنامش را مینویسم و تو همین تاپیک قرار می دم:چشمک:

noorsoft
پنج شنبه 27 اردیبهشت 1386, 05:20 صبح
Private Enum MENU_DRAWING ' Menu drawing constants
ODS_SELECTED = &H1
ODS_GRAYED = &H2
ODS_HOTLIGHT = &H40
End Enum
Private Enum MENU_TYPE ' Menu type constants
MT_ITEM
MT_SUB
End Enum

'************************************************* ******************************************
' TYPES
'************************************************* ******************************************
Private Type BITMAP ' BITMAP
bmType As Long
bmWidth As Long
bmHeight As Long
bmWidthBytes As Long
bmPlanes As Integer
bmBitsPixel As Integer
bmBits As Long
End Type
Public Type Size
cx As Long
cy As Long
End Type
Public Type MEASUREITEMSTRUCT ' MEASUREITEMSTRUCT
CtlType As Long
CtlID As Long
itemID As Long
itemWidth As Long
itemHeight As Long
itemData As Long
End Type
Public Type RECT ' RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type POINTAPI ' POINT
x As Long
y As Long
End Type
Public Type DRAWITEMSTRUCT ' DRAWITEMSTRUCT
CtlType As Long
CtlID As Long
itemID As Long
itemAction As Long
itemState As Long
hwndItem As Long
hDC As Long
rcItem As RECT
itemData As Long
End Type
Public Type MENULIST ' MENULIST
hMenu As Long ' Menu handle that this item belongs to
ItemName As String ' Menu item's name
NameSize As Size ' Menu item's name size (cx, cy)
hBitmap As Long ' Menu item's bitmap
hMaskBmp As Long ' Handle to mask bitmap (for transparency effect)
BitmapSize As Size ' Menu item's bitmap size
AccName As String ' Menu item's accelerator string
AccSize As Size ' Menu item's accelerator string size
Height As Long ' Total menu item height
Width As Long ' Total menu item width
PicPath As String ' The path of the menu picture
Position As Long ' Position of the menu item (0..n-1)
MenuType As MENU_TYPE ' Type of menu item
End Type
'************************************************* ******************************************
' CONSTANTS
'************************************************* ******************************************
Private Const MF_BYPOSITION = &H400&
Private Const MF_POPUP = &H10&
Private Const MF_OWNERDRAW = &H100&
Private Const MF_GRAYED = &H1&
Private Const MF_BITMAP = &H4&
Private Const MF_SYSMENU = &H2000&
Private Const COLOR_HIGHLIGHTTEXT = 14
Private Const COLOR_MENUTEXT = 7
Private Const COLOR_HIGHLIGHT = 13
Private Const COLOR_MENU = 4
Private Const COLOR_BTNSHADOW = 16
Private Const COLOR_BTNHIGHLIGHT = 20
Private Const COLOR_MENUBAR = 30
Private Const COLOR_MENUHILIGHT = 29
Private Const WM_MEASUREITEM = &H2C
Private Const WM_DRAWITEM = &H2B
Private Const WM_MENUCHAR = &H120
Private Const MNC_EXECUTE = &H2
Private Const MNC_IGNORE = &H0
Private Const DT_RIGHT = &H2
Private Const DT_LEFT = &H0
Private Const LOGPIXELSY = 90 ' Logical pixels/inch in Y
Private Const TRANSPARENT = &H1
Private Const LR_LOADFROMFILE = &H10
Private Const IMAGE_BITMAP = 0
Private Const WHITENESS = &HFF0062 ' (DWORD) dest = WHITE
Private Const GWL_WNDPROC = -4
Private Const PS_SOLID = 0
Private Const SPI_GETFLATMENU = &H1022
Private Const MSAA_MENU_SIG = &HAA0DF00D
'************************************************* ******************************************
' API FUNCTION DECLARATIONS
'************************************************* ******************************************
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Declare Function GetSysColorBrush Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function GrayString Lib "user32" Alias "GrayStringA" (ByVal hDC As Long, ByVal hBrush As Long, ByVal lpOutputFunc As Long, ByVal lpData As String, ByVal nCount As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function GetMenuState Lib "user32" (ByVal hMenu As Long, ByVal wID As Long, ByVal wFlags As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function SetTextColor Lib "gdi32" (ByVal hDC As Long, ByVal crColor As Long) As Long
#If UNICODE Then
Private Declare Function DrawText Lib "user32" Alias "DrawTextW" (ByVal hDC As Long, ByVal lpStr As Long, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
#Else
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hDC As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
#End If
Private Declare Function SetBkMode Lib "gdi32" (ByVal hDC As Long, ByVal nBkMode As Long) As Long
Private 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
Private Declare Function SetBkColor Lib "gdi32" (ByVal hDC As Long, ByVal crColor As Long) As Long
Private 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
Private Declare Function FillRect Lib "user32" (ByVal hDC As Long, lpRect As RECT, ByVal hBrush As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hDC As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long
Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, ByVal nNumerator As Long, ByVal nDenominator 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 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
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long
Private Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" (ByVal H As Long, ByVal W As Long, ByVal E As Long, ByVal O As Long, ByVal W As Long, ByVal i As Long, ByVal u As Long, ByVal s As Long, ByVal C As Long, ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Private Declare Function PatBlt Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function MoveToEx Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
'************************************************* ******************************************
' GLOBALS
'************************************************* ******************************************
Dim oldWndProc As Long ' Previous WndProc address
Dim m_hWnd As Long ' Main window handle
Dim m_FontName As String ' Selected font name
Dim m_FontSize As Long ' Selected font size
Dim m_FontWeight As Long ' 700 if font is bold, 0 otherwise
Dim m_FontItalic As Boolean ' True if bold is italic, false otherwise
Dim m_hMenuBarBitmap As Long
Dim nItems As Long ' The number of menu items (0..nItems - 1)
Public Menus(100) As MENULIST

noorsoft
پنج شنبه 27 اردیبهشت 1386, 05:27 صبح
این هم زیر برنامش


Public Sub AddEmptyBitmapToMenuBar(hWnd As Long, nHeight As Long)
Dim hMenu As Long
Dim hBitmap As Long
Dim hDC As Long

' Create a black and white bitmap
hBitmap = CreateBitmap(1, nHeight, 1, 1, 0)

' Paint the bitmap white
hDC = CreateCompatibleDC(0)
hBitmap = SelectObject(hDC, hBitmap)
PatBlt hDC, 0, 0, 1, nHeight, WHITENESS
hBitmap = SelectObject(hDC, hBitmap)
DeleteDC hDC

' Add the white bitmap to the menu
m_hMenuBarBitmap = hBitmap
hMenu = GetMenu(hWnd)
InsertMenu hMenu, -1, MF_BYPOSITION Or MF_BITMAP Or MF_GRAYED, 0, m_hMenuBarBitmap
End Sub

baran66
جمعه 28 اردیبهشت 1386, 00:26 صبح
سلام !
ممنون از جوابت اما اگه امکان داره کدها رو داخل تگ # بذار تا بشه فهمید چی به چیه؟!
نفهمیدم اصلا!(:
بعد اگه برنامه ای داره که این کد در اون استفاده شده اونو برام بفرست لطفا!
بازم ممنونم

saeed_rezaei
جمعه 28 اردیبهشت 1386, 01:28 صبح
سلام
واسه منوهات این آدرس رو کلیک کن.
http://barnamenevis.org/forum/showthread.php?t=61813

ghafoori
جمعه 28 اردیبهشت 1386, 07:35 صبح
اگر بخوام در منوها یی که باز می شه برای هر گزینه یک تصویر اختصاص بدم باید چطور عمل کنم؟!
در 2005 منوها خودشان دارایه خاصیت image هستند دیگر نیازی به api نیست ولی در 2003 این قابلیت نیست


این که کدهای تراز بندی متن هم احتیاج دارم. کدهایی که متن رو چپ چین یا وسط چین و... تنظیم کند.


RichTextBox1.SelectionAlignment = HorizontalAlignment.Right