| Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημέρα σας και συγχαρητήρια σε όλους που συνεισφέρουν σ αυτό το φόρουμ! Προσπαθώ να εμφανίσω το διάλογο των Windows (Color Dialog) προκειμένου να δώσω την επιλογή στους χρήστες μιας εφαρμογής Access να επιλέγουν το χρώμα φόντου και γραμματοσειράς σε κάποια πεδία. Βρήκα τον παρακάτω κώδικα σε σελίδα της Microsoft: How To Use Color Dialog from COMDLG32.DLL in VB and Access Κώδικας: Option Explicit
Private Type CHOOSECOLOR
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As String
flags As Long
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Declare Function ChooseColorAPI Lib "comdlg32.dll" Alias _
"ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
Dim CustomColors() As Byte
Private Sub Command1_Click()
Dim cc As CHOOSECOLOR
Dim Custcolor(16) As Long
Dim lReturn As Long
cc.lStructSize = Len(cc)
cc.hwndOwner = Me.hWnd
cc.hInstance = 0
cc.lpCustColors = StrConv(CustomColors, vbUnicode)
cc.flags = 0
lReturn = ChooseColorAPI(cc)
If lReturn <> 0 Then
Me.Caption = "RGB Value User Chose: " & Str$(cc.rgbResult)
Me.BackColor = cc.rgbResult ' Visual Basic only ****
Me.Section(0).BackColor = cc.rgbResult ' Access only **********
CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
Else
MsgBox "User chose the Cancel Button"
End If
End Sub
Private Sub Form_Load()
ReDim CustomColors(0 To 16 * 4 - 1) As Byte
Dim i As Integer
For i = LBound(CustomColors) To UBound(CustomColors)
CustomColors(i) = 0
Next i
End Sub
Το πρόβλημα μου είναι: 1. πως μπορώ να εμφανίζω το παράθυρο του διάλογου αυτό στο κέντρο της φόρμας 2. Δεν δουλεύει σε Vista 64 bit και σε Windows7 64 bit. Έχετε καμιά ιδέα; Ευχαριστώ για το χρόνο σας. Μίλτος |
|
#2
|
|
Γεια σας! Αγαπητέ Μίλτο, καλωσόρισες στο φόρουμ! Δε θα χρειαστεί να χρησιμοποιήσεις την βιβλιοθήκη comdlg32.dll. Μπορείς να καλέσεις τον διάλογο επιλογής χρώματος από την ίδια την msaccess.exe με το παρακάτω: Κώδικας: Declare Sub ChooseMyColor Lib "msaccess.exe" Alias "#53" (ByVal hWnd As Long, TheColor As Long) Κώδικας: Private Sub cmdChooseColor_Click()
Dim LngColor&
LngColor = Me.Text1.BackColor 'Me.Text1.ForeColor
ChooseMyColor Me.hWnd, LngColor
Me.Text1.BackColor = LngColor
End Sub
Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word Τελευταία επεξεργασία από το χρήστη Tasos : 27-04-10 στις 22:43. |
|
#3
| |||
| |||
|
Καλησπέρα σε όλους! Φίλε Τάσο, αυτό ήταν! Απλό, κατανοητό, κεντράρεται και δουλεύει παντού! Σ ευχαριστώ πάρα πολύ για το χρόνο σου! Με εκτίμηση Μίλτος |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Ερωτήματα ] Index στην Access | mdragon | Access - Ερωτήσεις / Απαντήσεις | 9 | 10-03-11 15:14 |
| [ Συναρτήσεις ] Η Mod στην access | xristos0718 | Access - Ερωτήσεις / Απαντήσεις | 4 | 22-03-10 14:17 |
| [ Συναρτήσεις ] η VLOOKUP στην access | xristos0718 | Access - Ερωτήσεις / Απαντήσεις | 4 | 03-03-10 08:23 |
| log file στην access | giorgos_ad | Access - Ερωτήσεις / Απαντήσεις | 5 | 28-02-10 11:37 |
| [ Εκθέσεις ] Εκθέσεις στην access | mike04 | Access - Ερωτήσεις / Απαντήσεις | 5 | 23-02-10 17:57 |
Η ώρα είναι 15:40.



Αλλαγή σε γραμμικό τρόπο

