在DLL中 Listview 出现 has no parent windows错误

eccalc 2006-07-26 11:14:19
在DLL中包含一个Form,Form 上放置了一个ListView
在主程序中调用该DLL,并且把DLL 的Form 的Parent 赋值到主程序的PageControl 上,如果主程序和DLL都动态编译时,则不会报错。一旦全编译时就报错,其他组件好像没有这个问题,望高手指点。
...全文
321 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Javpp 2006-07-26
  • 打赏
  • 举报
回复
jjwwang((空园歌独酌,春日赋闲居))

不太理解你说的, 能不能详细说一下, 我也和楼主一样做的
eccalc 2006-07-26
  • 打赏
  • 举报
回复
为什么不用frame
-----------------------------
这个类似插件模式的,另外一些页的设置是用户自己维护开发的。
CACACACACA 2006-07-26
  • 打赏
  • 举报
回复
把Form放到PAGECONTROL上---为什么不用frame
eccalc 2006-07-26
  • 打赏
  • 举报
回复
放在TabSheet上的,呵呵。
放在Form上一样的,只要是WinControl上都是如此报错
xiaoshi0 2006-07-26
  • 打赏
  • 举报
回复
应该放在PageCtrl的其中一个标签上吧?
eccalc 2006-07-26
  • 打赏
  • 举报
回复
不是,是直接DLL中一个普通的Form,上面放了一些控件,包括TListView
以下为DLL Form 的导出函数
extern "C" __declspec(dllexport) __stdcall
int Action(HWND pHandle)
{ //..其他处理
Form2 = new TForm2(Application);
return (int)Form2;
}
然后在主程序中动态载入DLL,Call 和DLL 方都动态编译时一切正常,全编译时TListView不正常的
CACACACACA 2006-07-26
  • 打赏
  • 举报
回复
DLL中建了一个Frame, 上面有Edit, DBGrid,什么的.
需要把这个Frame显示到主应用程序的Form中.
出现了类似的问题.

楼主的问题是不是类似这样?
eccalc 2006-07-26
  • 打赏
  • 举报
回复
其他控件例如Memo,TreeView 等不会出现的该错误的。
我测试了一下,
ShowMessage(ListView1->Parent->ClassName());它的Parent是存在的,也就是DLL Form。
如果在Dll Form放置一个Button,然后在Click下写入如下代码:
TListView *lv = new TListView(this);
lv->Parent = this;
lv->Visible = true;
执行后连 new 出来的lv 都看不见的.
CACACACACA 2006-07-26
  • 打赏
  • 举报
回复
晕,

"Form 的Parent 赋值到主程序的PageControl 上"
这句让我不明白.

建议把ParentFont,ParentColor/等设为false.

daydayup234 2006-07-26
  • 打赏
  • 举报
回复
应该不会出问题
xugeng 2006-07-26
  • 打赏
  • 举报
回复
如果是静态建立的话,Form在程序run之前以经建立,而建立时的主程序的PageControl还未建立,因此找不到Parent,你最好是动态装入dll文件
启点CE过NP文December 24 2018:Cheat Engine 6.8.2 Released: Here's a new version for the hollidays. Mainly minor improvements and some small bugfixes, but also a new 'ultimap like' feature called Code Filter for which you don't need any special hardware for. (Just an extensive list of addresses) Download: Cheat Engine 6.8.2 Fixes: Disassembler: Several disassembler instructions had a comma too many or too few ,fixed those Disassembler: Fixed the description for ret # Disassembler/Debug: Fixed the address that is being edited when a breakpoint hits while editing an instruction Assembler: Fixed assembling reg*2/4/8+unquotedsymbol Plugin: Fixed the SDK for C plugins that use the disassembler callback Hotkeys: Fixed the attach to foreground hotkey Memory Scan: Fixed the percentage scan Memory Scan: Fixed a rare situation that could cause an error Memory Scan: Simple values now works with groupscan Memory Scan Lua: Scanfiles now also get deleted if the memory scan object is freed before the scan is fully done Fill Memory: Now allows 64-bit addresses Structure Dissect: Fixed the popupmenu "change type" so it now affects all selected entries instead of just the first PointerOrPointee window: Fix the debug pointer or pointee window button text when using access instead of writes GUI: Fixed and restored the DPI Aware option in setting GUI: Some DPI fixes/adjustments here and there Graphical Memory view: Fixed DPI issues Symbolhandler: When the symbolhandler now waits till it's done, it won't wait for the structures to be parsed anymore Additions and Changes: Lua Engine: Added autocomplete DLL injection: On DLL injection failure CE tries to fall back on forced injection methods Assembler: Added multibyte NOP Plugins: Plugins can now have side dll's that are statically linked in their own folder (Windows 7 with updates and later) Debugging: Improved the FPU window editing when single stepping, allowing you to change the FPU registers Debugging: Threadview now updates when single stepping and cnanges made there will affect the currently debugged thread (before it didn't) Debugging: Added Code Filter. This lets you filter out code based on if it has been executed or not (Uses software breakpoints) Debugging: Added an option to chose if you wish to break on unexpected breakpoints, and if CE should break on unexpected breakpoints, or only on specified regions (like AA scripts) Disassembler: The comments now show multiple parameters Pointerscan: Add option to allow negative offset scanning Pointerscan: Add extra types to the display Advanced Options/CodeList: Now uses symbolnames Tutorial Game: Added a levelskip option when you've solved a step Tutorial Game: Added a secondary test Compare memory: Added a limit to the number of address values shown per row (can be changed) Address List: When the option to deactivate children is set, the children will get deactivated first Memory Scan: Add a lua script in autorun that lets you specify which module to scan Lua: ExecuteCodeEx(Let's you execute code in the target and pass parameters) Added 2 new parameters to getNameFromAddress (ModuleNames and Symbols) Added addModule and deleteModule to the symbollist class Added the ModuleLoader class which can force load dll's Fixed endUpdate for the listview Thanks go out to SER[G]ANT for updating the russion translation files already June 23 2018:Cheat Engine 6.8.1 Released: Apparently 6.8 contained a couple of annoying bugs, so here's an update that should hopefully resolve most issues. Also a few new features that can come handy Download: Cheat Engine 6.8.1 Fixes: Fixed several issues with the structure compare Fixed the commonality scanner from picking up unrelated registers for comparison Fixed speedhack hotkeys Fixed ultimap 1 Fixed a bunch of random access violations Fixed Lua dissectCode.getStringReferences now also returns the string Fixed Lua breakpoints that specify a specific function Fixed Lua toAddress when the 2nd parameter is an address Fixed assembling xmm,m32 Fixed issue when disassembling AVX instructions Fixed rightclicking r8-r9 in the registers window Fixed the plugin system for DBVM Fixed DBVM memory allocations when smaller than 4KB Additions and changes: Added translation strings for the all type settings You can now drop files into the auto assembler auto assembler commands allocnx (allocate no execute) and allocxo (allocate execute only) The memoryview windows's hexadecimalview now shows the allocationbase as well, and can be doubleclicked to go there Added support for mono dll's that do not export g_free Changed "make page writable" to multiple options Improved DBVM speed slightly Lua: added RemoteThread class object June 8 2018:Cheat Engine 6.8 Released: Cheat Engine 6.8 has been released. Lots of new features like structure compare, AVX disassembling support, lua functions, etc... Download: If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker or by e-mail. And if you have questions, don't hesitate to ask them in the forum Fixes: Fixed some more high dpi issues Fixed issues with the dropdown list in memory records Fixed pointer offset symbols not calculating properly Fixed registered binutils Fixed graphical issues with the tablist Fixed issue where memory blocks would get cut of before the page end Fixed some memory leaks Fixed some graphical issues in the addresslist Fixed rightclick on r8 and r9 in memoryview Fixed disassembling some instructions Fixed DBVM so it works on windows 1709 and later (tested on 1803) Fixed several DBVM offload crashes Fixed freeze with allow increase/decrease for 8 byte long values Fixed several issues where minimizing a window and then close it would hang CE Fixed file scanning Fixed crashes when editing memory in some some emulators Additions and changes: Text editor improvements Added hundreds of new cpu instructions Mono now has some new features like instancing of objects Mono instances window is now a treeview where you can see the fields and values "find what addresses this code accesses" can also be used on RET instructions now (useful to find callers) The graphical memory view now has a lot more options to set it just the way you need Codepage support in hexview structure data from PDB files can now be used, and are stored in a database for lookup later dissect structures form can now show a list of known structures (pdb, mono, ...) Added a "revert to saved scan" option (lets you undo changes) Added a "forgot scan" option (in case you forgot what you're doing) Pointerscan limit nodes is default on in a new ce install (remembers your choice when you disable it) Autoattach now happens using a thread instead of a gui blocking timer Some colorscheme enhancements Added a DBVM based "Find what writes/accesses" feature. (For pro users, enable kernelmode options for it to show) Changed the dissect data setup from seperate yes/no/value dialogs to a single window Added a bypass option for ultimap2 on windows 1709. When using ranges, do not use interrupts, or use DBVM Added find what writes/access to the foundlist Autoassembler scriptblocks are now grouped when written to memory Added {$try}/{$except} to auto assembler scripts Added an extra tutorial/practice target Added cut/copy/paste context menu items to pointer offset fields in add/change address, and added a context menu to the pointer destination Added an automated structure compare for two groups of addresses to find ways to distinguish between them lua: added automatic garbage collection and settings to configure it added new functions: gc_setPassive gc_setActive reinitializeSelfSymbolhandler registerStructureAndElementListCallback showSelectionList changed the getWindowlist output MainForm.OnProcessOpened (better use this instead of onOpenProcess) enumStructureForms cpuid getHotkeyHandlerThread bunch of dbvm_ functions (needs dbvm capable cpu, and intel only atm) and more, including class methods and fields (read celua.txt) Minor patches: 06/08/2018: 6.8.0.4 - Fixed speedhack hotkey speed asignments and some commonalityscanner issues 06/09/2018: 6.8.0.5 - Fixed only when down speedhack option 06/10/2018: 6.8.0.6 - Fixed ultimap1 - Fixed ultimap2 on some systems - Fixed enableDRM() from crashing - Fixed one disassembler instruction Russian translation has been updated November 13 2017:Can't run Cheat Engine There is apparently some malware going around that blocks execution of Cheat Engine (Saying file missing, check filename, etc...) If you have been a victim of this then try this windows repair tool to fix your windows install: Download Repair Tool November 9 2017:Spanish(Latin) translation added Manuel Ibacache M. from Chile has provided us with spanish(Latin) translation files for Cheat Engine. They can be downloaded from the download section where you can find the other translation files, or right here June 7 2017:Cheat Engine 6.7 Released: Cheat Engine 6.7 has been released. New lua functions, GUI improvements, codepage scanning, several bugfixes and more(See below). Download: Cheat Engine 6.7 If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, irc or by e-mail. And if you have questions, don't hesitate to ask them in the forum , irc Fixes: Fixed some DPI issues at some spots Fixed the "Not" scan for ALL "simple values" now also applies to the All type Fixed not adding the 0-terminator to strings when the option was set to add it Fixed ultimap hotkeys Fixed ultimap2 filtering Changing pointers in the change address dialog won't set/override global memrec and address anymore (local now) Fixed show as signed not working for custom types Fixed several issues with the structure spider Fixed 64-bit registers in the tracer getting truncated on doubleclick, and fix r8 to r15 Fixed copy/paste in the scanvalue Fixed kernelmode QueryMemoryRegions for windows build 1607 Fixed some disassembler errors Fixed lua command fullAccess Fixed text to speech if launched from a different thread Fixed clicking on checkboxes when the dpi is different Fixed the found code dialog count size Fixed mono freezing Cheat Engine when it crashes/freezes Additions and changes: Changed the processlist and added an Applications view similar to the taskmanager Small change to the tutorial first step wording Structure Dissect: Added RLE compression (by mgr.inz.player) and other things to improve filesize Structure Dissect: If setting a name, it will also be shown in the header The symbolhandler can now deal with complex pointer notations Added support for single-ToPA systems for ultimap2 Added some more spots where the history will be remebered in memoryview Memoryrecords with auto assembler scripts can now execute their code asynchronous (rightclick and set "Execute asynchronous") Kernelmode memory reading/writing is safer now Added an option to filter out readable paths in the pointerscan rescan Added "codePage" support Added font/display options to several places in CE Added a search/replace to the script editors You can now delete addresses and reset the count from "Find what addresses this code accesses" Added a statusbar to the hexview in memoryview Pointerscan for value scans now add the results to the overflow queue Opening a file and changing bytes do not change them to the file anymore (you need to explicitly save now) Added an option to the processlist to filter out system processes Added a system to let users sign their tables so you know you can trust their tables. Memory record dropdown lists can now reference those of others. USe as entry text: (memoryrecorddescription) Added an option to notify users of new versions of Cheat Engine lua: Custom Types can now be referenced from Lua Auto assembler lua sections now have access to "memrec" which is the memory record they get executed from. Can be nil stringToMD5String now support strings with a 0 byte in them autoAssemble() now also returns a disableInfo object as 2nd parameter. You can use this to disable a script added Action and Value properties to MemoryRecordHotkey objects added screenToClient and clientToScreen for Control objects added readSmallInteger and writeSmallInteger added enableDRM() added openFileAsProcess/saveOpenedFile added saveCurrentStateAsDesign for CEForm objects added disableWithoutExecute and disableAllWithoutExecute added OnCustomDraw* events to the listview added being/endUpdate for the Strings class added SQL support added color overrides to the disassembler text added OnPaint to the CustomControl class added autoAssembleCheck to syntax check an AA script fixed the addresslist returning nil for PopupMenu (while popupMenu did work) added an timeout option for pipes added some graphical options added some low level system functions Russian translation has been updated Chinese translation has been updated May 15 2017:Korean language files Thanks to Petrus Kim there are now Korean language files for Cheat Engine. You can get them here Just extract it to the language folder in the Cheat Engine installation folder and you'll be able to use it April 13 2017:Cheat Engine for Macintosh download For the Mac users under us there is now a mac version available for download. It's based on Cheat engine 6.2 but I will be upgrading it to 6.6 and later based on the feedback I get. Tip:if you have trouble opening processes: Reboot your Mac and hold CMD+R during boot to enter the recovery console. There open the terminal (using the top menu) and enter "csrutil disable" . Then reboot and you'll be able to open most processes (Youtube video by NewAgeSoldier in case it's not clear) October 6 2016:Cheat Engine 6.6 Released: Cheat Engine 6.6 has been released. It has several fixes, new scan functionality, gui changes/improvements, Ultimap 2, better hotkeys, more programming options, and more(See below). Download: Cheat Engine 6.6 If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, irc or by e-mail. And if you have questions, don't hesitate to ask them in the forum or irc Fixes: Fixed saving of hotkey sounds Fixed the CF flag in the disassembler stepping mode Fixed Kernelmode VirtualQueryEx for Windows 10 build 14393 Fixed DBVM for Windows 10 build 14393 Fixed the shortest assembler instruction picking for some instructions Fixed a few bugs in the break and trace routine when you'd stop it while the thread still had a single step set Fixed several ansi to UTF8 incompatbilities that poped up between 6.5 and 6.5.1 Fixed the stackview not properly setting the color, and giving an error when trying to change a color Fixed the exe generator not adding both .sys files or the .sig files when using kernel functions Fixed some places of the disassembler where it helps guessing if something is a float or not When using the code finder, it won't show the previous instruction anymore if it's on a REP MOVS* instruction Fixed an issue when editing memoryrecords with strings, where wordwrap would add newline characters Fixed D3D alpha channel for textures and fontmaps Fixed the helpfile not being searchable The installer will now mark the CE destination folder as accessible by APPS. (fixes speedhack for some APPS) Fixed the form designed crashing is resized 'wrong' Additions and changes: Ultimap 2 for Intel CPU's of generation 6 and later (no DBVM needed for those) Language select if you have multiple language files for CE Memoryrecord pointer offsets can use calculations, symbols and lua code now While stepping in the debugger you can now easily change the EIP/RIP register by pressing ctrl+f4 changed the way CE is brought to front when a hotkey is pressed Made the GUI more adaptive to different fontsizes and DPI Several font and minor GUI changes Added DPIAware and a font override to the settings window. (DPI aware is on by default, but can be turned of if experiencing issues) Added option to enable pause by default Disassembling mega jumps/calls now show the code in one line The standalone auto assembler window will now give an option to go to the first allocated memory address Changed the point where the settings are loaded in CE's startup sequence The formdesigner now allows copy and paste of multiple objects, and uses text Added scrollbox and radiogroup to the formdesigner Added Middle, MB4 and MB5 as allowable hotkeys Added controller keys as hotkeys Single stepping now shows an indication if an condition jump will be taken Added a watchlist to the debugger Added the 'align' assembler pseudo command (allocates memory so the next line is aligned on a block of the required size) Added the 'Not' option for scans, which causes all addresses that match the given entry as invalid Changed the Unicode text to UTF-16. Text scans are now UTF8/UTF16 (no codepage) Hexview can now show and edit values in 3 different textencodings. (Ascii, UTF-8 and UTF-16) Rescan pointerscans on pointerscans that where done on a range can now change the offset lua: speak(): Text to speech hookWndProc: a function that lets you hook the windows message handler of a window registerEXETrainerFeature: Lets you add extra files to the exe trainer file packer getFileVersion(): A function to get version information from a file mouse_event() : Lets you send mouse events to windows. (move, click, etc...) loadFontFromStream() : Lets you load a font from a memory stream. (Useful for trainers that use a custom font) added several thread synchronization objects control class: added bringToFront and sendToBack lua changes: dbk_writesIgnoreWriteProtection() now also disables virtualprotectex calls from CE loadTable() can now also load from a Stream object. the addresslist has some Color properties published for better customization the LUA server has had some new commands added so hooked code can do more efficient calls. (LUAClient dll has been updated to use them in a basic way) Russian translation has been updated French tutorial only translation has been updated as well 10/10/2016:6.6.0.1: Fixed align May 19 2016:Cheat Engine 6.5.1 Released: 6.5.1 has been released. It's mainly a bugfix version to replace 6.5 which had a few minor bugs that needed solving. Download: Cheat Engine 6.5.1 Fixes: Fixed increased value by/decreased value by for float values Fixed disassembling/assembling some instructions (64-bit) Fixed the autoassembler tokenizing wrong words Fixed several bugs related to the structure dissect window (mainly shown when autodestroy was on) Fixed a small saving issue Groupscans now deal with alignment issues better Fixed java support for 32-bit Additions and changes: Signed with a sha256 signature as well (for OS'es that support it) Changed Ultimap to use an official way to get the perfmon interrupt instead of IDT hooking (less BSOD on win10 and 8) Individual hotkeys can now play sounds Now compiled with fpc 3.0/lazarus 1.6 (Previously 2.7/1.1) You can now search in the string list PEInfo now has a copy to clipboard Some places can now deal better with mistakes Lazarus .LFM files can now be loaded and saved lua: Fixed several incompatibilities between lua that popped up in 6.5 (due to the lua 5.1 to 5.3 change) Fixed the OnSelectionChange callback property in the memoryview object MemoryRecords now have an Collapsed property Added TCanResizeEvent to the splitter Fixed setBreakpoint not setting a proper trigger if not provided Fixed executeCode* parameter passing Fixed several memory leaks where unregistering hooks/addons didn't free the internal call object Some tableFile additions Fixed registerAssemble assembler commands Added kernelmode alloc and (un)mapping functionality Added an easy way to add auto assembler templates Added window related functions including sendMessage Added Xbox360 controller support functions Added more thread functions Post release fixes: Dealt with several gui issues like the mainform to front on modal dialogs, header resizing stuck with the cursor, treeview item selection/deletion being weird, etc... Added a disconnect to the client in pointerscans Fixed pointerscan issue with 32-bit aligned pointers in a 64-bit process Fixed a deadlock in threads when lua custom types where used Post release fixes: Dealt with several gui issues like the mainform to front on modal dialogs, header resizing stuck with the cursor, treeview item selection/deletion being weird, etc... Added a disconnect to the client in pointerscans fixed pointerscan issue with 32-bit aligned pointers in a 64-bit process Fixed a deadlock in threads when lua custom types where used Fixed pointerscan resume 6/1/2016: (major bugfix) properly fixed resume of pointerscans and alignment fix December 31 2015:Cheat Engine 6.5 Released: I'd like to announce the release of Cheat Engine 6.5 If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, irc or by e-mail. And if you have questions, don't hesitate to ask them in the forum or irc Fixes: Fixed page exception breakpoints from not working Fixed the save as button in the lua script assigned to the table Fixed the dotnetdatacollector from not fetching parent fields Fixed disassembling of some instructions Fixed assembling some instructions Fixed assembling instructions that referenced address 80000000 to ffffffff in 64-bit targets Fixed dealing with unexpected breakpoints Fixed several issues with the network scanner. (symbols, scanspeed, threads, etc...) Fixed "going to" 64-bit registers. Fixed pointerstrings for 64-bit Fixed the addressparser in memview's hexview not handing static 64-bit addresses Fixed r8 and r9 looking broken in the memoryview window Fixed hotkeys that set a value as hexadecimal and the value is smaller than 0x10 Fixed multiline string editing for memory records Fixed dragging cheat tables into CE Fixed VEH debug for 'Modern' apps Fixed several translation issues lua: fixed getStructureCount, writeRegionToFile, readRegionFromFile, readInteger, ListColum.GetCount fixed memoryleak in MemoryStream Several fixes to DBVM: added support for Windows 10 support for more than 8 cpu's support for newer cpu's fixed issue where calling CPUID right after setting the TF flag wouldn't trigger a breakpoint after it Additions and changes: Array of Byte's can now deal with nibble's. (e.g: 9* *0 90 is now a valid input- and scanstring) The auto assembler can now deal with some mistakes like forgetting to declare a label Added support to use binutils as assembler and disassembler, and a special scripting language for it Added support for 64-bit mono, and script support for cases where mono.dll isn't called mono.dll Added an option to get a list of all recently accessed memory regions. This is useful for the pointerscanner The pointerscanner can now use multiple snapshots (pointermaps) to do a scan. This basically lets you do a rescan during the first scan, saving your harddisk Made the pointerscan network scanner a bit easier to use. You can now join and leave a pointerscan session You can now stop pointerscans and resume them at a later time Pointerscan files can get converted to and from sqlite database files The pointerscan configuration window now has an advanced and basic mode display The all type now has a setting that lets you define what under "all" falls Custom types now also have access to the address they're being used on Split up the "(de)activating this (de)activates children" into two seperate options (one for activate, one for deactivate) Added some basic Thumb disassembling The xmplayer has been replaced with mikmod which supports many different module types (in lua you still call it xmplayer) Rightlicking on "your system supports dbvm" will let you manually load DBVM for each cpu. This is usefull if for some reason your system crashes when it's done too quickly In "Find what addresses this instruction accesses" you can now open the structure dissect window of your choice in case there are others. It will also fill in the base address, so no need to recalculate yourself AA command GlobalAlloc now has an optional 3th parameter that lets you specify the prefered region Added an option to record and undo writes. (Off by default, can be enabled in settings. Memview ctrl+z will undo the last edit) Added aobscanregion(name,startaddress,stopaddress,aob) lua: switched from Lua 5.1 to 5.3 debug_setBreakpoint can now take an OnBreakpoint parameter that lets you set a specific function just for that breakpoint added dbk_getPhysicalAddress(int) added dbk_writesIgnoreWriteProtection(bool) added getWindowList() And a bunch of other lua functions. (check out main.lua) Post release fixes (max 7 days after initial release *or 30 if a HUGE bug): 1/6/2016:Fixed structure dissect from crashing when autodestroy is on 1/6/2016:Fixed window position loading on multi monitor systems 1/6/2016:Fixed the lua customtype and 1/6/2016:Several minor gui fixe
Contents xvii Web Forms 133 Intellisense 134 Customizing the IDE 135 Customizing the Code Editor 135 Customizing Shortcut Keys 135 Customizing the Toolbars 136 Exercise 3.4 Adding a New Toolbar to the Existing Set 136 Exercise 3.5 Adding Commands to Toolbars 137 Customizing Built-In Commands 137 Exercise 3.6 Creating an Alias 138 Customizing the Start Page 139 Accessibility Options 141 Summary 142 Solutions Fast Track 142 Frequently Asked Questions 143 Chapter 4 Common Language Runtime 145 Introduction 146 Component Architecture 148 Managed Code versus Unmanaged Code 150 Interoperability with Managed Code 152 System Namespace 153 File I/O 155 Drawing 156 Printing 157 Common Type System 158 Type Casting 160 Garbage Collection 163 Object Allocation/Deallocation 164 Close/Dispose 165 Summary 166 Solutions Fast Track 167 Frequently Asked Questions 168 Developing & Deploying… Embrace Your Parameters VB.NET is insistent upon enclosing parameters of function calls within parentheses regardless of whether we are returning a value or whether we are using the Call statement. It makes the code much more readable and is a new standard for VB programmers that is consistent with the standard that nearly all other languages adopted long ago. 153_VBnet_TOC 8/16/01 1:12 PM Page xvii xviii Contents Chapter 5 .NET Programming Fundamentals 171 Introduction 172 Variables 173 Constants 175 Structures 176 Program Flow Control 178 If…Then…Else 178 Select Case 182 While Loops 184 For Loops 186 Arrays 187 Declaring an Array 188 Multidimensional Arrays 189 Dynamic Arrays 191 Functions 192 Object Oriented Programming 196 Inheritance 196 Polymorphism 197 Encapsulation 197 Classes 198 Adding Properties 198 Adding Methods 200 System.Object 201 Constructors 201 Overloading 202 Overriding 203 Shared Members 205 String Handling 206 Error Handling 210 Summary 213 Solutions Fast Track 214 Frequently Asked Questions 217 NOTE When porting Visual Basic applications to Visual Basic .NET, be careful of the lower bounds of arrays. If you are using a for loop to iterate through the array, and it is hard-coded to initialize the counter at 1, the first element will be skipped. Remember that all arrays start with the index of 0. 153_VBnet_TOC 8/16/01 1:12 PM Page xviii Contents xix Chapter 6 Advanced Programming Concepts 219 Introduction 220 Using Modules 221 Utilizing Namespaces 222 Creating Namespaces 222 Understanding the Imports Keyword 226 Implementing Interfaces 229 Delegates and Events 232 Simple Delegates 235 Multicast Delegates 236 Event Programming 236 Handles Keyword 236 Language Interoperability 237 File Operations 239 Directory Listing 239 Data Files 241 Text Files 243 Appending to Files 246 Collections 246 The Drawing Namespace 248 Images 253 Printing 256 Understanding Free Threading 262 SyncLock 263 Summary 265 Solutions Fast Track 265 Frequently Asked Questions 267 Chapter 7 Creating Windows Forms 269 Introduction 270 Application Model 270 Properties 271 Manipulating Windows Forms 275 Properties of Windows Forms 275 Methods of Windows Forms 276 Creating Windows Forms 287 What Are Collections? Collectionsare groups of like objects. Collections are similar to arrays, but they don’t have to be redimensioned. You can use the Addmethod to add objects to a collection. Collections take a little more code to create than arrays do, and sometimes accessing a collection can be a bit slower than an array, but they offer significant advantages because a collection is a group of objects whereby an array is a data type. 153_VBnet_TOC 8/16/01 1:12 PM Page xix xx Contents Displaying Modal Forms 288 Displaying Modeless Forms 289 Displaying Top-Most Forms 289 Changing the Borders of a Form 289 Resizing Forms 291 Setting Location of Forms 292 Form Events 294 Creating Multiple Document Interface Applications 297 Creating an MDI Parent Form 297 Creating MDI Child Forms 298 Exercise 7.1 Creating an MDI Child Form 298 Determining the Active MDI Child Form 299 Arranging MDI Child Forms 299 Adding Controls to Forms 300 Anchoring Controls on Forms 301 Docking Controls on Forms 303 Layering Objects on Forms 304 Positioning Controls on Forms 304 Dialog Boxes 305 Displaying Message Boxes 306 Common Dialog Boxes 306 The OpenFileDialog Control 306 The SaveFileDialog Control 309 The FontDialog Control 311 The ColorDialog Control 313 The PrintDialog Control 315 The PrintPreviewDialog Control 316 The PageSetupDialog Control 321 Creating Dialog Boxes 322 Creating and Working with Menus 323 Adding Menus to a Form 323 Exercise 7.2 Adding a Menu to a Form at Design Time 323 Creating Dialog Boxes 1.Create a form. 2.Set the BorderStyle property of the form to FixedDialog. 3.Set the ControlBox, MinimizeBox, and MaximizeBox properties of the form to False. 4.Customize the appearance of the form appropriately. 5.Customize event handlers in the Code window appropriately. 153_VBnet_TOC 8/16/01 1:12 PM Page xx Contents xxi Dynamically Creating Menus 326 Exercise 7.3 Adding a Menu to a Form at Design Time 326 Adding Status Bars to Forms 328 Adding Toolbars to Forms 330 Data Binding 332 Simple Data Binding 332 Complex Data Binding 333 Data Sources for Data Binding 333 Using the Data Form Wizard 334 Using the Windows Forms Class Viewer 338 Using the Windows Forms ActiveX Control Importer 338 Summary 340 Solutions Fast Track 340 Frequently Asked Questions 344 Chapter 8 Windows Forms Components and Controls 347 Introduction 348 Built-In Controls 348 Label Control 351 LinkLabel Control 354 TextBox Control 357 Button Control 361 CheckBox Control 364 RadioButton Control 365 RichTextBox Control 367 TreeView Control 369 ListBox Control 371 CheckedListBox Control 374 ListView Control 376 ComboBox Control 381 DomainUpDown Control 384 NumericUpDown Control 386 PictureBox Control 388 TrackBar Control 389 Adding Items to a Combo Box at Design-Time 1.Select the ComboBox control on the form. 2.If necessary, use the Viewmenu to open the Properties window. 3.In the Properties window, click the Itemsproperty, then click the ellipsis. 4.In String Collection Editor, type the first item, then press Enter. 5.Type the next items, pressing Enterafter each item. 6.Click OK. 153_VBnet_TOC 8/16/01 1:13 PM Page xxi xxii Contents DateTimePicker Control 391 Panel Control 394 GroupBox Control 396 TabControl Control 397 Creating Custom Windows Components 399 Exercise 8.1:Creating a Custom Windows Component 399 Creating Custom Windows Controls 403 Exercise 8.2:Creating a Custom Windows Control 404 Summary 407 Solutions Fast Track 407 Frequently Asked Questions 408 Chapter 9 Using ADO.NET 409 Introduction 410 Overview of XML 411 XML Documents 411 XSL 411 XDR 412 XPath 412 Understanding ADO.NET Architecture 412 Differences between ADO and ADO.NET 414 XML Support 414 ADO.NET Configuration 415 Remoting in ADO.NET 415 Maintaining State 415 Using the XML Schema Definition Tool 416 Connected Layer 417 DataProviders 418 Connection Strings 418 Exercise 9.1 Creating a Connection String 419 Command Objects 421 DataReader 425 DataSet 426 XML Documents XML documents are the heart of the XML standard. An XML document has at least one element that is delimited with one start tag and one end tag. XML documents are similar to HTML, except that the tags are made up by the author. 153_VBnet_TOC 8/16/01 1:13 PM Page xxii Contents xxiii Disconnected Layer 427 Using DataSet 428 Relational Schema 428 Collection of Tables 430 Data States 431 Populating with the DataSet Command 432 Populating with XML 433 Populating Programmatically 434 Using the SQL Server Data Provider 435 TDS 436 Exercise 9.2 Using TypedDataSet 437 Remoting 439 Data Controls 440 DataGrid 440 Exercise 9.3 Using TypedDataSet and DataRelation 441 DataList 446 Repeater 450 Summary 454 Solutions Fast Track 454 Frequently Asked Questions 457 Chapter 10 Developing Web Applications 459 Introduction 460 Web Forms 461 A Simple Web Form 462 Exercise 10.1 Creating a Simple Web Form 462 How Web Forms Differ from Windows Forms 464 Why Web Forms Are Better Than Classic ASP 465 Adding Controls to Web Forms 467 Exercise 10.2 Adding Web Controls to a Web Form 468 Code Behind 473 NOTE Web form controls not only detect browsers such as Internet Explorer and Netscape, but they also detect devices such as Palm Pilots and cell phones and generate appropriate HTML accordingly. 153_VBnet_TOC 8/16/01 1:13 PM Page xxiii xxiv Contents How Web Form Controls Differ from Windows Form Controls 476 ASP.NET Server Controls 476 Intrinsic Controls 476 Bound Controls 478 Exercise 10.3 Using the DataGrid Control 478 Exercise 10.4 Customizing DataGrid Control 482 Custom Controls 487 Validation Controls 488 Exercise 10.5 Using the Validation Controls 489 Creating Custom Web Form Controls 492 Exercise 10.6 A Simple Custom Control 493 Exercise 10.7 Creating a Composite Custom Control 497 Web Services 504 How Web Services Work 505 Developing Web Services 505 Exercise 10.8 Developing Web Services 507 Web Service Utilities 509 Service Description Language 509 Discovery 510 Proxy Class 510 Consuming Web Services from Web Forms 511 Exercise 10.9 Consuming Web Services from Web Forms 511 Using Windows Forms in Distributed Applications 513 Exercise 10.10 Consuming Web Services from Windows Forms 514 Exercise 10.11 Developing a Sample Application 516 Summary 519 Solutions Fast Track 519 Frequently Asked Questions 521 153_VBnet_TOC 8/16/01 1:13 PM Page xxiv Contents xxv Chapter 11 Optimizing, Debugging, and Testing 523 Introduction 524 Debugging Concepts 524 Debug Menu 528 Watches 529 Breakpoints 531 Exceptions Window 532 Command Window 534 Conditional Compilation 536 Trace 538 Assertions 540 Code Optimization 541 Finalization 542 Transitions 542 Parameter Passing Methods 542 Strings 543 Garbage Collection 544 Compiler Options 544 Optimization Options 544 Output File Options 544 .NET Assembly Options 545 Preprocessor Options 546 Miscellaneous Options 546 Testing Phases and Strategies 546 Unit Testing 547 Integration Testing 547 Beta Testing 547 Regression Testing 548 Stress Testing 548 Monitoring Performance 548 Summary 550 Solutions Fast Track 551 Frequently Asked Questions 552 What Are Watches? Watchesprovide us with a mechanism where we can interact with the actual data that is stored in our programs at runtime. They allow us to see the values of variables and the values of properties on objects. In addition to being able to view these values, you can also assign new values. 153_VBnet_TOC 8/16/01 1:13 PM Page xxv xxvi Contents Chapter 12 Security 553 Introduction 554 Security Concepts 555 Permissions 555 Principal 556 Authentication 557 Authorization 557 Security Policy 558 Type Safety 558 Code Access Security 558 .NET Code Access Security Model 559 Stack Walking 559 Code Identity 561 Code Groups 562 Declarative and Imperative Security 564 Requesting Permissions 565 Demanding Permissions 570 Overriding Security Checks 572 Custom Permissions 576 Role-Based Security 578 Principals 578 WindowsPrincipal 579 GenericPrincipal 580 Manipulating Identity 581 Role-Based Security Checks 583 Security Policies 585 Creating a New Permission Set 588 Modifying the Code Group Structure 593 Remoting Security 600 Cryptography 600 Security Tools 603 Summary 606 Solutions Fast Track 607 Frequently Asked Questions 611 Within the .NET Framework, Three Namespaces Involve Cryptography 1.System.Security .CryptographyThe most important one; resembles the CryptoAPI functionalities. 2.System.Security .Cryptography.X509 certificatesRelates only to the X509 v3 certificate used with Authenticode. 3.System.Security .Cryptography.XmlFor exclusive use within the .NET Framework security system. 153_VBnet_TOC 8/16/01 1:13 PM Page xxvi Contents xxvii Chapter 13 Application Deployment 615 Introduction 616 Packaging Code 617 Configuring the .NET Framework 622 Creating Configuration Files 622 Machine/Administrator Configuration Files 623 Application Configuration Files 625 Security Configuration Files 626 Deploying the Application 629 Common Language Runtime 629 Windows Installer 630 CAB Files 631 Internet Explorer 5.5 632 Resource Files 633 Deploying Controls 637 Summary 639 Solutions Fast Track 640 Frequently Asked Questions 642 Chapter 14 Upgrading Visual Basic Applications to .NET 647 Introduction 648 Considerations Before Upgrading 648 Early Binding of Variables 649 Avoiding Null Propagation 650 Using ADO 651 Using Date Data Type 652 Using Constants 652 Considering Architecture Before Migration 653 Intranet/Internet Applications 653 Internet Information Server (IIS) Applications 654 DHTML Applications 655 ActiveX Documents 655 Client/Server and Multi-Tier Applications 655 Single-Tier Applications 656 Data Access Applications 656 WARNING You should under no circumstance edit the Security.config and Enterprise.config files directly. It is very easy to compromise the integrity of these files. Always use the Code Access Security Policy utility (caspol.exe) or the .NET Configuration tool; these will guard the integrity of the files and will also make a backup copy of the last saved version. 153_VBnet_TOC 8/16/01 1:13 PM Page xxvii xxviii Contents Data Types 657 Variants 657 Integers 658 Dates 658 Boolean 659 Arrays 659 Fixed-Length Strings 660 Windows API Data Types 661 Converting VB Forms to Windows Forms 662 Control Anchoring 664 Keyword Changes 665 Goto 666 GoSub 666 Option Base 666 AND/OR 666 Lset 666 VarPtr 667 StrPtr 667 Def 667 Programming Differences 668 Method Implementation 668 Optional Parameters 668 Static Modifier 669 Return Statement 669 Procedure Calls 670 External Procedure Declaration 671 Passing Parameters 672 ParamArray 672 Overloading 674 References to Unmanaged Libraries 677 Metadata 679 Runtime Callable Wrapper 681 COM Callable Wrapper 682 Properties 684 Working with Property Procedures 684 Control Property Name Changes 685 Default Property 687 Avoiding Null Propagation Nullpropagation means that if Null is used in an expression, the resulting expression is always Null. In previous versions of Visual Basic, the Null value disseminated throughout the expression. 153_VBnet_TOC 8/16/01 1:13 PM Page xxviii Contents xxix Null Usage 690 Understanding Error Handling 690 Exercise 14.1:Using Error Handling 692 Data Access Changes in Visual Basic .NET 693 Dataset and Recordset 694 Application Interoperability 694 Cursor Location 695 Disconnected Access 695 Data Navigation 695 Lock Implementation 696 Upgrading Interfaces 696 Upgrading Interfaces from Visual Basic 6.0 699 Using the Upgrade Tool 703 Exercise 14.2 Using the Upgrade Wizard 703 Summary 708 Solutions Fast Track 709 Frequently Asked Questions 712 Index 713 Contents xiii From the Series Editor xxxi Chapter 1 New Features in Visual Basic .NET 1 Introduction 2 Examining the New IDE 3 Cosmetic Improvements 3 Development Accelerators 5 .NET Framework 6 A Very Brief and Simplified History 6 .NET Architecture 7 ASP.NET 7 Framework Classes 8 .NET Servers 8 Common Language Runtime 8 History 8 Convergence 9 Object-Oriented Language 10 Object-Oriented Concepts 10 Advantages of Object-Oriented Design 11 History of Object Orientation and VB 13 Namespaces 13 Web Applications 13 Web Applications Overview 13 Web Forms 14 Web Services 15 HyperText Transport Protocol 16 Simple Object Access Protocol 17 .NET Architecture .NET Framework ASP.NET Updated ASP Engine Web Forms Engine Framework Classes System.Math, System.Io, System.Data, Etc. Common Language Runtime Memory Management Common Type System Garbage Collection .NET .NET Servers 153_VBnet_TOC 8/16/01 1:12 PM Page xiii xiv Contents Security 17 Type Safety 18 Casting 18 Data Conversion 19 Bitwise Operations 20 New Compiler 20 Compiling an Executable 20 Architecture 21 File Management in Previous Versions of VB 21 File Management 22 Changes from Visual Basic 6.0 23 Variants 23 Variable Lower Bounds 23 Fixed Length Strings 23 NULL Propagation 23 Other Items Removed 24 Function Values 24 Short Circuits 25 Properties and Variables 25 Variable Lengths 25 Get and Set 26 Date Type 26 Default Properties 27 Summary 28 Solutions Fast Track 28 Frequently Asked Questions 31 Chapter 2 The Microsoft .NET Framework 33 Introduction 34 What Is the .NET Framework? 34 Introduction to the Common Language Runtime 35 Using .NET-Compliant Programming Languages 37 Creating Assemblies 39 Using the Manifest 42 Compiling Assemblies 45 Assembly Cache 45 Locating an Assembly 45 153_VBnet_TOC 8/16/01 1:12 PM Page xiv Contents xv Private Assembly Files 51 Shared Assembly Files 51 Understanding Metadata 51 The Benefits of Metadata 52 Identifying an Assembly with Metadata 53 Types 53 Defining Members 54 Using Contracts 54 Assembly Dependencies 55 Unmanaged Assembly Code 55 Reflection 56 Attributes 57 Ending DLL Hell 58 Side-by-Side Deployment 58 Versioning Support 59 Using System Services 60 Exception Handling 60 StackTrace 61 InnerException 61 Message 61 HelpLink 62 Garbage Collection 62 Console I/O 62 Microsoft Intermediate Language 63 The Just-In-Time Compiler 63 Using the Namespace System to Organize Classes 64 The Common Type System 65 Type Safety 68 Relying on Automatic Resource Management 68 The Managed Heap 69 Garbage Collection and the Managed Heap 71 Assigning Generations 77 Utilizing Weak References 77 Security Services 79 Framework Security 80 Granting Permissions 81 NOTE Visualization is still key! Die-hard VB programmers may find themselves having a hard time visualizing all the new concepts in VB.NET (and we all know that proper logic visualization plays a big role in what we do). Something that may help is to think about VB.NET as a completely flexible language that can accommodate Web, console, and desktop use. 153_VBnet_TOC 8/16/01 1:12 PM Page xv xvi Contents Gaining Representation through a Principal 82 Security Policy 83 Summary 85 Solutions Fast Track 85 Frequently Asked Questions 88 Chapter 3 Installing and Configuring VB.NET 91 Introduction 92 Editions 92 Installing Visual Studio .NET 93 Exercise 3.1:Installing Visual Studio .NET 94 Installing on Windows 2000 99 The New IDE 100 Integrated Development Environment Automation Model 100 Add-Ins 104 Exercise 3.2 Creating an Add-In Using the Add-In Wizard 105 Wizards 109 Macros 109 Home Page 110 Project Options 112 Toolbox 116 Child Windows 120 Window Types 122 Arranging Windows 123 Task List 123 Exercise 3.3 Setting Up a Custom Token 124 TaskList Views 124 Locating Code 126 Annotating Code 126 Solution Explorer 127 Properties Window 129 Form Layout Toolbar 130 Hide/Show Code Elements 132 Installing Visual Studio .NET IPhase 1: Installing Windows components IPhase 2: Installing Visual Studio .NET IPhase 3: Checking for service releases 153_VBnet_TOC 8/16/01 1:12 PM Page xvi
Delphi VCLSkin 5.30 website : http://www.link-rank.com email : info@link-rank.com VCLSkin is a component to create skinnable user interface for Delphi/C++Builder application, It is easy to use, just put one component on mainform, Vclskin will skin whole application without source code modification. Vclskin is leader in this field, Vclskin support most third-part controls in market, there isn't a competitor was able to support 3rd-part controls as many as Vclskin. VclSkin automatically skin kinds of windows in application, include Delphi forms,MDIform and common Windows dialogs (MsgBox,Open/Save,Font,Print), even the Exception MsgBox. Vclskin not only support Delphi standard controls, but also support many third-party component, such as TMS Grid pack, EnLib Grid, Developer Express QuantumGrid. It is an excellent choice for those wanting to skin existing applications. The cool thing is that it uses existing VCL components. -Install Run install.exe to install. You also get help in help.chm -Demo The demo package download at: http://www.link-rank.com/download.htm Demo version adds a string 'VclSkin demo' on form caption, but allows to test all available functions. -History News In 5.30 05/20/2009 *Fix bugs in windows 7. News In 5.25 04/14/2009 *Add xoCaptionButtonHint in skindata.options to hide hint of caption button, to upgrade new version: 1 run uninstall.exe in demo package. 2 compile and install new version. News In 5.20 03/05/2009 *fix problem on hint on caption button. News In 5.14 11/04/2008 *fix unicode problem in delphi 2009 News In 5.12 11/04/2008 *fix bug in hint for caption button News In 5.11 11/03/2008 *support hint for caption button News In 5.10 09/17/2008 *support delphi 2009 News In 5.04 08/16/2008 *fix bug in BCB2007. News In 5.1 05/29/2008 *fix bug in TBitbtn. News In 4.99 05/07/2008 *fix bug in Tprogressbar. News In 4.98 04/23/2008 *fix bug in Tbutton. News In 4.97 04/20/2008 *fix bug in Tlistview. News In 4.96 03/25/2008 *fix bug in Tlistview. News In 4.95 03/13/2008 *fix bug in dll forms. News In 4.94 11/13/2007 *Skip to skin control in Skindata.OnSkinControl event. News In 4.93 11/13/2007 *Support PNGspeedbutton. News In 4.92 11/06/2007 *Fix combobox button problem when form is scaled. News In 4.91 10/02/2007 *Support QuantumGrid 6. News In 4.90 09/03/2007 *Support C++builder 2006, c++builder 2007. News In 4.89 07/26/2007 *Fix problem with Multilizer . News In 4.88 07/18/2007 *Fix form icon problem . News In 4.87 07/10/2007 *Fix problem in Form Caption News In 4.86 06/13/2007 *Fix problem in TDateTimePicker News In 4.85 06/06/2007 *Fix problem in TDateTimePicker News In 4.83 05/18/2007 *Fix problem in Dev Dbtreeview. News In 4.82 05/11/2007 *Improve image quality of form icon. News In 4.81 04/30/2007 *Fix menu border problem. News In 4.80 04/20/2007 *Fix menu border problem in windows2000. News In 4.76 04/11/2007 *Support application Icon updated at runtime. News In 4.75 04/04/2007 *Fix default button problem. News In 4.72 02/27/2007 *Fix form paint problem when cpation changed. News In 4.60 02/09/2007 *Support Help button in form system button. News in 4.55 01/31/2007 *Fix problem that right click caption on Dll form. News in 4.53 01/22/2007 *Fix problem on multi-lines caption header in Listview. News in 4.52 01/11/2007 *Fix problem in DatetimePicker when it resize. News in 4.50 01/03/2007 *Fix problem work with Billenium Effects. News in 4.42 12/06/2006 *skindata.skincontrols option work in window common dialog. News in 4.41 11/13/2006 *fix problem in TImageEnOpendialog. News in 4.40 11/09/2006 *fix problem with Billenium Effects. News in 4.36 10/21/2006 *Fix popupmenu problem in win98 . News in 4.35 10/20/2006 *Fix problem when combobox right-to-left . News in 4.33 10/11/2006 *Fix problem when checkbox and radiobutton is right-to-left reading . News in 4.32 10/03/2006 *Fix problem of button shortcut. News in 4.31 9/25/2006 *Support Toolbarwindow32 in Opendialog. News in 4.30 9/7/2006 *Fix Caption problem in bidiRighttoLeft form. News in 4.25 9/5/2006 *Fix Mainmenu problem in MDIform with bidiRighttoLeft. News in 4.22 8/28/2006 *Fix problem when Menuitem text is right-to-left reading . News in 4.21 8/21/2006 *Fix problem when form caption is right-to-left reading . News in 4.20 8/18/2006 *Fix problem when form Max/Min button is disable. *Change skin file format. News in 4.13 8/14/2006 *unskin dialog when download file in webbrowser. News in 4.12 7/30/2006 *Fix problem when form Max/Min button is disable. News in 4.11 6/25/2006 *Change Grid.fixedcolor when skin file changed. News in 4.10 6/14/2006 *Add BeforeFormSkin and AfterFormSkin event. News in 4.09 6/07/2006 *fix bug in MDIchild when form create and change form caption. News in 4.08 5/25/2006 *(5/26)Fix bug in TSkinControl.GetParentColor . *Change Tabcontrol background color. News in 4.07 5/10/2006 *Fix problem TScrollbar control. News in 4.07 5/5/2006 *Fix problem in Mainmenu. News in 4.06 4/19/2006 *Fix combobox scrollbar problem. News in 4.05 4/18/2006 *Fix scrollbar problem when grid is disable. *Fix Mainmenu problem in Windows95 News in 4.04 4/10/2006 *Fix Mainmenu problem in MDIform. *Fix Menu merge problem in Win98. News in 4.03 4/01/2006 *Fix problem in TCheckbox and TRadiobutton when BiDimode=bdRighttoLeft. *Fix problem when Menuitems have Actions. News in 4.02 3/28/2006 *Fix problem in TSpeedbutton when size is zero. *Support scrollbar in drop-down of combobox. News in 4.01 3/16/2006 *fix problem with trackbar when skin active *support TCategoryButtons in delphi2006 News in 4.0. 3/9/2006 *Fix problem when skin file do not have checkbox image. *Fix bug when click button and move mouse. *Fix bug with TVirtualTreeview. News in 3.99 3/3/2006 *Fix bug when skindata.skinformtype=sfOnlyThisForm *Fix bug in TcxRadioGroup *Fix bug in TDateTimePicker *Fix bug in TMediaPlayer. News in 3.98 2/24/2006 * Support TPageControl with tsButton style. * Fix problem on Mainmenu with ActionList. News in 3.97 2/16/2006 * Fix problem when Groupbox in ScrollBox. *Fix problem with newest TNTcontrol. News in 3.96 2/6/2006 * Fix problem with TTrayIcon. * Fix problem bug with TMainmenu. News in 3.95 1/25/2006 * Fix flicker problem about TSpeedbutton. * Fix flicker problem when form caption change. News in 3.94 1/25/2006 * Fix bug in TPopupMenu. add 'xoMenuBG' in skindata.options to support menuitem with mbBarBreak. News in 3.93 1/18/2006 * Fix bug in TDateTime. News in 3.92 1/12/2006 * Fix paint bug in TTabcontrol. * Fix paint bug in Checkbox and radiobutton without caption . News in 3.91 1/8/2006 * Fix bug in Mainmenur. News in 3.90 1/1/2006 * Fix bug in TrackBar. News in 3.89 12/31/2005 * Fix bug in form with BorderStyle=bsNone. *Fix mainmenu bug in MDIForm. News in 3.88 12/26/2005 *Fix bug in THeaderControl. *Support TcxTreeList, TcxNavigator in Dev express controls. News in 3.87 12/22/2005 *Paint minimized form. *Fix bug in TPageControl. News in 3.85 12/13/2005 *Fix a crush bug. News in 3.84 12/5/2005 *Support TPnbBitBtn. *fix flicker in Tpagecontrol. *Fix GDI leak problem. News in 3.83 12/2/2005 *Fix problem that toolbar Backbround is too dark . News in 3.82 12/1/2005 *Fix bug when form maximize. News in 3.81 11/29/2005 *Support TMediaPlayer control. News in 3.80 11/20/2005 *Fix some skin files. *Fix bug on ImageEn SaveImageEnDialog. News in 3.72 11/10/2005 *Fix bug in TScrollbar when its min is negative. *Fix bug in Tmainmenu. News in 3.71 11/5/2005 *change caption text color to gray when checkbox or radiobutton is disable. *Fix paint problem in Tbitbtn when caption is empty. *Fix bug of changing skin file when Skindata.SkinFormtype = sfOnlyThisForm. News in 3.70 10/27/2005 *Support TAdvPageControl. *Support TRzMenuButton, TcxButton with cxbkDropDownButton. *work with RECREATEWND message for skined control has scrollbar. *Fix a memory leak bug. *Fix paint bug for TPagecontrol in win95. News in 3.65 10/21/2005 *Add TSkindata.Options.xoMDIChildBorder which do not skin MDIChild form's border. News in 3.64 10/19/2005 *Fix problem when skindata.skincontrols.xcMainMenu is flase. News in 3.63 10/15/2005 *Support THeaderControl. News in 3.62 10/13/2005 *fix bug in SystemMenu. News in 3.61 10/11/2005 *fix bug in TcxDbCheckbox. *fix paint problem in Tcheckbox when Alignment is taLeftJustify. News in 3.60 10/10/2005 *Vclskin can run in Win95. News in 3.52 10/6/2005 *Fix paint problem of form border. News in 3.51 10/4/2005 *Fix paint problem in checkbox with big image. News in 3.50 9/25/2005 *Support Mouse Hover in Scrollbar. *Add Mouse thumb gripper in Scrollbar. News in 3.41 *Fix some problem in Button when mouse move. News in 3.40 2005.9.21 *Support Hover state in Header control. *Improve on TrackBar *Fix problem to unskin radiogroup. News in 3.38 2005.9.13 *Fix icon problme in MDIChild. News in 3.37 2005.9.12 *Fix font color problem in TButton when button is focused. News in 3.36 2005.9.9 *Fix font color problem in Tgroupbox,radiobutton,checkbox. News in 3.35 2005.9.5 *Support TGroupbox font color. News in 3.34 2005.8.31 *Fix paint problem in Trackbar when skin file change. News in 3.33 2005.8.29 *Fix problem in TcxDBCheckbox. News in 3.32 2005.8.25 *Add close button on TPageControl. News in 3.31 *fix problem when righ click form caption that BorderIcons:=[] News in 3.30 *fix problem that show normal window border when windows first show. *fix resize problem when form border is bsSingle. News in 3.29 *System menu is NOT only English.It support Language in windows. *Fix some problem in DLL applicaton. News in 3.28 * fix paint bug in checkbox and radiobutton in windows common dialog. News in 3.27 *fix bug in TTntDateTimePicker. *fix paint problem in TPageControl. News in 3.26 *Support Popupmenu in TFrame. News in 3.25 * fix Icon problem in MDIChild form. * fix caption paint problem in MDIForm. News in 3.24 * Fix Icon problem in MDIChild form. * fix paint problem in Tbitbtn. * Add feature that Skin file Preview image saved in skin-builder. * Add xcTrackbar and xcSpin. News in 3.23 * Support wordwrap in Bitbtn and speedbutton. * Fix scrollbar problem in TImageScrollBox. News in 3.22 * fix transparent problem in button. News in 3.21 * Fix paint problem in TSpidEdit. * Support owner-MeasureItem event in Popupmenu. News in 3.20 * support toolbar background. * support workwrap in checkbox and radiobutton. News in 3.14 *fix mainmenu merge problem . *fix flicker problem in transparent background . News in 3.13 *fix scrollbar problem when form move. *fix bug in DLL form. *fix Edit control focus problem in MDIChild. *fix formresize problem when skin file change. News in 3.12 * Add Focus border on checkbox,radiobutton,button. * Support Transparent Background on Checkbox,Radiobutton,Groupbox. * Support WS_EX_APPWINDOW style. * fix MDIchild problem in TBX. * improve on RzRadiobutton. News in 3.11 *Support runtime package. *support ALT,ALT-Space. *support hint for scrollbar control *fix Z-order problem when skin change. *fix shortcut problem. News in 3.10 *Support TBX. *Support TNT MDIChild Form. *Support more FastReprt button control. News in 3.08 *Fix problem in TOpenImageEnDialog. *Paint Border in scrollbar control. *Fix checkbox paint problem in Dibiright *Fix Tscrollbox problem. *Support LMD Elpack. *Fix problem that Control without parent. *Fix bug in skin file change. News in 3.07 *Fix problem when BiDiRight Mainmenu popup. *Fix bug in 3.06,3.05 when skin remove at runtime. News in 3.06 *Fix bug in C++Builder. *Fix bug in scrollbar resize. *Fix bug in Delphi7 XPmanifest component. News in 3.05 *Fix bug when move controls in different forms. *Fix problem in TStatusbar that is simple and DiBiRight. News in 3.04 *Fix Tscrollbox problem in delphi5. *Fix Mainmenu display problem in BIDIRight. *Fix font color problem in TSpeedbutton when it is disable. *Fix bug in TntCombobox. *Fix skinfile mxskin59.skn when form is maximized. News in 3.03 *Fix bug in dockable form. *Support Tbutton onMouseDown event. News in 3.02 *Fix Combobx problem in BIDIRight. *Fix MOUSE WHEEL problem in Tlistbox. *Fix Scrollbar problem when control is invisible. News in 3.01 *Fix problem in Inherited-MDIchild. News in 3.0 *Scrollbar flicker problem fixed. *Redundant separator bars in menu are automatically removed. *Add xoMDIScrollbar to show scrollbar in MDIClient area. News in 2.77 * Support TspinButton. * Support TRzDBCheckbox. * Fix paint problem when MDIform lost focus. * Fix AV bug in application close; * Fix bug when change skin file in multi-skins application. * Fix problem about skin delay. News in 2.76 * 4 new skin file released. * fix some bug in Opendialog. News in 2.75 * Fix bugs in IP4000 combobox * Add install.exe and uninstall.exe * Add "embedscrollbar" in Skindata.skin3rd to support TAdvpanelGroup's scrollbar. * Fix Colorpicker Popupmenu problem in WwRichEdit form. * Support SpinEdit now. * Fix TScrollbox problem in delphi5 or c++builder5. News in 2.74 * Delphi 2005 support. * Enable/Disable skin control at runtime. * Fix bug in MDIForm menu merge. * Add "xcMenuitem" in skincontrols property. * skip to skin QuickReport preivew form. News in 2.73 * Fix bugs in MDIForm when MDIChild is maximized. * Fix bug of form Caption in Chinese. News in 2.72 * Support TNT Unicode Controls . * Support menu in Tookbar2000 . * fix bug in MDIform close. * fix bug in TScrollbar control. * fix bug in TDateTimePicker when TDateTimePicker.kind is dtkTime. News in 2.71 * fix bugs of MDIChild form. * support progressbar with pbVertical style. * support preset color in skin file. * support speedbutton in skin3rd property. News in 2.70 * fix bug in embeded form. * fix bug of MDIform with Expressbar. * fix bug of form caption refresh when skin change. * fix trackbar refresh bug when skin change. * fix Quickreport , reprotbuilder preview form problem. * Support Raize TRzbitbtn with ImageList. * Support TComboboxex. News in 2.69 *Support Raize TRzbitbtn with glyph. *Support TMS TAdvMemo. *Fix bug of mainmenu shortcut in MDIform. News in 2.68 *Fix bugs in mainmenu. *Fix Icon bug in dialog. News in 2.67 *Fix DBEdit paint bug. *Fix Icon paint bug. News in 2.66 *Use Memory Inifile. *Fixed bug in multiskin demo. *Fixed MDIform Tile and Cascade problem. *Fixed bugs in default button and disable button. *Add LMD tools 7.0 demo. News in 2.65 *Paint with gray glyph when Speendbtn is disable. *Fixed Topendialog resize problem *Fixed shortcut problem in menuitem. *Add Raized component demo. *Add QuantumGrid4 demo. *Add IP4000 demo. News in 2.62 *Paint TGroupbox with new style. *Fixed bug in painting TSpeedbutton pictures. *Fixed bug in application closed. News in 2.60 *Support Arabic language, BiDiMode is righttoleft. *Fixed some bugs when application closed. News in 2.55 *Fixed bug that Tspeedbutton destory at runtime. *Improve performance when change menutitem at runtime. *Fixed OpenDialog bug. News in 2.50 *Support LMD tools. *Fixed bug of checkbox that is disabled . *Add TSkindata.Skin3rd property to add 3rd control easily. News in 2.45 *Some bugs fixed. *Improve compatibility with Billenium effects. News in 2.4 *Support to skin an application but keep the menu bar and title bar the default Windows standard. *DBCheckbox bug fixed. *Fixed bug in cascade,tile command in MIDform. *Bug with minimized state when form created. *Suport ReportBuilder News in 2.3 *Support TUpDown and TSpinEdit. *Support TrackBar. *Restore form size when remove skin. *Fix more bugs. News in 2.25 *Fix bug with QuickReport and FastReport. *Fix bug in Tstatusbar. *Fix bug in Application. News in 2.20 *Support Header control in TlistView. *Fix Menuitem ShortCut bug. *Fix bug that change windows Z-Order when skin change at runtime. *Support Tframe created at runtime. News in 2.10 *Fix Scrollbar drag thumb problem. News in 2.05 *Support multi-skindata in application,Mainform and messagebox can use different skindate. *Nested form support. *Fixed Title flicker problem when form resize. *Support Mainmenu change at runtime. News in 2.0 *skin kinds of windows in your project, Delphi forms,MDIform and common Windows dialogs (MsgBox,Open/Save,Font,Print), even the Exception MsgBox. *Enable/Disable skin at runtime. *fixed many bugs in MDIform. *system menu enchanced.

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧