Attribute VB_Name = "Profile" '***************************************************************************** '* '* Copyright (c) 1999, KL GROUP INC. All Rights Reserved. '* http://www.klgroup.com '* '* This file is provided for demonstration and educational uses only. '* Permission to use, copy, modify and distribute this file for '* any purpose and without fee is hereby granted, provided that the '* above copyright notice and this permission notice appear in all '* copies, and that the name of KL Group not be used in advertising '* or publicity pertaining to this material without the specific, '* prior written permission of an authorized representative of '* KL Group. '* '* KL GROUP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY '* OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED '* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR '* PURPOSE, OR NON-INFRINGEMENT. KL GROUP SHALL NOT BE LIABLE FOR ANY '* DAMAGES SUFFERED BY USERS AS A RESULT OF USING, MODIFYING OR '* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. '* '***************************************************************************** Option Explicit Public Type POINTAPI X As Long Y As Long End Type Public Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Public Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long Public Declare Function LineTo Lib "gdi32" (ByVal hDc As Long, ByVal X As Long, ByVal Y As Long) As Long 'The following Remarked version of the function is the default declaration ' for anyone wanting to track the last point drawn (is stored in lPoint) 'Public Declare Function MoveTo Lib "gdi32" alias "MoveToEx" (ByVal hDc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long 'The following version is used as the last point is not needed to be kept ' and the last parameter is made optional so that it does not need to be ' passed and it will be sent as a NULL [that is what the function expects] Public Declare Function MoveTo Lib "gdi32" Alias "MoveToEx" (ByVal hDc As Long, ByVal X As Long, ByVal Y As Long, Optional lpPoint As Variant) As Long Public Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDc As Long) As Long Public Declare Function SelectObject Lib "gdi32" (ByVal hDc As Long, ByVal hObject As Long) As Long Public Declare Function SetROP2 Lib "gdi32" (ByVal hDc As Long, ByVal nDrawMode As Long) As Long 'This will make the text fields Read Only, but keep them looking like they are normal Public Const WM_USER = &H400 Public Const EM_SETREADONLY = (WM_USER + 31) 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