PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [حل شده] MsgBox رنگی



میثم مقدم نیا
2018/07/15, 23:51
با سلام
میخواستم بدونم بدون افزونه میشه پس زمینه MsgBox را رنگی کرد
من کد رنگی کردن متن رو میدونم ولی پس زمینه را نه اگه امکانش هست با یک نمونه راهنمایم کنید

mokaram
2018/07/16, 07:20
یه پیشنهاد :
چرا از فرم برای نشون دادن پیغامت استفاده نمی کنی؟ آپشن های بیشتری هم در اختیارت هست . کارت هم ساده تره.

میثم مقدم نیا
2018/07/17, 21:48
یه پیشنهاد :
چرا از فرم برای نشون دادن پیغامت استفاده نمی کنی؟ آپشن های بیشتری هم در اختیارت هست . کارت هم ساده تره.

فرمایش شما متین و مورد قبول بنده هست خودم از این روش برای توضیحات استفاده میکنم
ولی این موضوع برام جالب بود
با افزونه ktMsgBox میشه اینکارا کرد
16833
16834
ولی نمیخوام از افزونه استفاده کنم
تو فایل پیوست بدون افزونه من تغییر رنگ متن را دادم ولی پس زمینه را نه
من بیشتر یرای یاد گیری این سوال را کردم شاید دوستانی مثل من باشند که خواهان دانستن این مطلب باشند
ممنون از لطف شما

Amir Ghasemiyan
2018/07/18, 05:27
سلام دوست عزیز
این سوالی که برای شما پیش اومد برای منم جالب شد و سرچ کردم. کد زیر رو پیدا کردم.
این کد با تغییر در رنگ های پیشفرض ویندوز فرمتون رو به همون شکلی که میخواهید در میاره. پیشنهاد میکنم در استفاده از این کد خیلی با احتیاط عمل کنید چون میتونه اطلاعات پیش فرض تم سیستم رو تغییر بده



Option Explicit


#If Win64 Then
Private Declare PtrSafe Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
#Else
Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
#End If


Private Const COLOR_WINDOWTEXT As Long = 8
Private Const CHANGE_INDEX As Long = 1


Public Sub RunMe()
Dim defaultColour As Long

'Store the default system colour
defaultColour = GetSysColor(COLOR_WINDOWTEXT)


'Set system colour to red
SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, vbRed
MsgBox "Incorrect", , "Your result is..."


'Restore default value
SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, defaultColour
End Sub


تو این کد قسمتی که قرمز کردم رو میتونین با موارد زیر جایگزین کنین و هر کدوم یک بخش از ویندوز رو تغییر میده



COLOR_SCROLLBAR = 0 'The Scrollbar colour
COLOR_BACKGROUND = 1 'Colour of the background with no wallpaper
COLOR_ACTIVECAPTION = 2 'Caption of Active Window
COLOR_INACTIVECAPTION = 3 'Caption of Inactive window
COLOR_MENU = 4 'Menu
COLOR_WINDOW = 5 'Windows background
COLOR_WINDOWFRAME = 6 'Window frame
COLOR_MENUTEXT = 7 'Window Text
COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)
COLOR_CAPTIONTEXT = 9 'Text in window caption
COLOR_ACTIVEBORDER = 10 'Border of active window
COLOR_INACTIVEBORDER = 11 'Border of inactive window
COLOR_APPWORKSPACE = 12 'Background of MDI desktop
COLOR_HIGHLIGHT = 13 'Selected item background
COLOR_HIGHLIGHTTEXT = 14 'Selected menu item
COLOR_BTNFACE = 15 'Button
COLOR_BTNSHADOW = 16 '3D shading of button
COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.
COLOR_BTNTEXT = 18 'Button text
COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window
COLOR_BTNHIGHLIGHT = 20 '3D highlight of button
COLOR_2NDACTIVECAPTION = 27 'Win98 only: 2nd active window color
COLOR_2NDINACTIVECAPTION = 28 'Win98 only: 2nd inactive window color

میثم مقدم نیا
2018/07/18, 09:39
سلام دوست عزیز
این سوالی که برای شما پیش اومد برای منم جالب شد و سرچ کردم. کد زیر رو پیدا کردم.
این کد با تغییر در رنگ های پیشفرض ویندوز فرمتون رو به همون شکلی که میخواهید در میاره. پیشنهاد میکنم در استفاده از این کد خیلی با احتیاط عمل کنید چون میتونه اطلاعات پیش فرض تم سیستم رو تغییر بده



Option Explicit


#If Win64 Then
Private Declare PtrSafe Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
#Else
Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function SetSysColors Lib "user32" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long
#End If


Private Const COLOR_WINDOWTEXT As Long = 8
Private Const CHANGE_INDEX As Long = 1


Public Sub RunMe()
Dim defaultColour As Long

'Store the default system colour
defaultColour = GetSysColor(COLOR_WINDOWTEXT)


'Set system colour to red
SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, vbRed
MsgBox "Incorrect", , "Your result is..."


'Restore default value
SetSysColors CHANGE_INDEX, COLOR_WINDOWTEXT, defaultColour
End Sub


تو این کد قسمتی که قرمز کردم رو میتونین با موارد زیر جایگزین کنین و هر کدوم یک بخش از ویندوز رو تغییر میده



COLOR_SCROLLBAR = 0 'The Scrollbar colour
COLOR_BACKGROUND = 1 'Colour of the background with no wallpaper
COLOR_ACTIVECAPTION = 2 'Caption of Active Window
COLOR_INACTIVECAPTION = 3 'Caption of Inactive window
COLOR_MENU = 4 'Menu
COLOR_WINDOW = 5 'Windows background
COLOR_WINDOWFRAME = 6 'Window frame
COLOR_MENUTEXT = 7 'Window Text
COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)
COLOR_CAPTIONTEXT = 9 'Text in window caption
COLOR_ACTIVEBORDER = 10 'Border of active window
COLOR_INACTIVEBORDER = 11 'Border of inactive window
COLOR_APPWORKSPACE = 12 'Background of MDI desktop
COLOR_HIGHLIGHT = 13 'Selected item background
COLOR_HIGHLIGHTTEXT = 14 'Selected menu item
COLOR_BTNFACE = 15 'Button
COLOR_BTNSHADOW = 16 '3D shading of button
COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.
COLOR_BTNTEXT = 18 'Button text
COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window
COLOR_BTNHIGHLIGHT = 20 '3D highlight of button
COLOR_2NDACTIVECAPTION = 27 'Win98 only: 2nd active window color
COLOR_2NDINACTIVECAPTION = 28 'Win98 only: 2nd inactive window color



ممنون اتفاقا خودم اینا را پدا کرده بودم ولی ازشون سر در نیوردم
ولی با راهنمایی شما متوجهشون شدم
ممنون از بابت راهنمایتون

Amir Ghasemiyan
2018/07/18, 11:43
ممنون اتفاقا خودم اینا را پدا کرده بودم ولی ازشون سر در نیوردم
ولی با راهنمایی شما متوجهشون شدم
ممنون از بابت راهنمایتون

خواهش ميكنم
لطفا اگه پاسخ سوالتون رو دريافت كرديد تاپيك رو حل شده كنيد