About OLE, Drag and Drop
(1) 继承了MFC的COleDropSource,并实现了其中的QueryContinueDrag(...)接口,
用来设置Drop标志(鼠标左键释放)。
(2) 继承了MFC的COleDataSource,并实现了其中的OnRenderGlobalData(...)接口,
用来延迟提供数据。
(3) 调用pcDataSource->DelayRenderData(CF_HDROP),设置数据格式。
(4) 调用pcDataSource->DoDragDrop(...),开始DragDrop。
(5) 在pcDropSource->QueryContinueDrag(...)返回DRAGDROP_S_DROP后,
在pcDataSource->OnRenderGlobalData(...)中提供实际数据。
我发现pcDataSource->OnRenderGlobalData(...)接口会被系统频繁调用,即使是在
我设置了Drop标志后,仍然会调用多次。而且好像并不是每次都需要将实际数据填
好,由于每次调用时传递的参数都一样,无法判断出哪一次才是真正要数据。在我的
系统上,我只要在第8次调用时将数据填好就行,可是在别的系统上却不对(不同的系
统次数不一样)。由于我的数据量有时会很大,不可能每次调用都提供实际数据。
请教:延迟提供数据的正确方法。谢谢!
相关推荐
Shellbrowser Component Suite v7.3
The TJamShellList, TJamShellTree and TJamShellCombo components look and behave exactly like the corresponding parts of the Explorer. The non-visible TShellBrowser component provides an easy interface to the Windows Shell API. All components support the properties page, correct icons, OLE drag-and-drop , the Explorer context menu and merge with your Delphi popup menus. A thumbnail component displays the Explorer thumbnail images and the TJamShellNotifier informs you about numerous shell events, like attached drives or changes in folders. Interesting sample projects and a help file with a lot of sample code are included. The ShellBrowser Delphi Edition is royalty free and involves no runtime fees.
Professional.MFC.with.VC6
Contents Chapter 1: The Microsoft Developer Studio The Microsoft Developer Studio The Project Workspace Project Workspace Window Project Configurations Managing Complex Projects Project Settings Converting Projects Source Code Files Resource Scripts ResourceView Creating New Resources Identifying Resources Dialog Boxes String Tables Accelerator Tables Menus Icons, Bitmaps and Cursors Version Resources Custom Resources The Visual C++ Compiler Compiling on the Command Line The Foundation Classes MFC Source Code Header Files MFC Libraries Summary Chapter 2: The Wizards and The Gallery AppWizard Starting AppWizard Choosing Your Application's User Interface Selecting Database Support Adding Compound Document Support Embellishing Your User Interface Adding Advanced Features Miscellaneous Options Class Names One More Step Other Application Interfaces Choose Carefully! Compiling Your Application Precompiled Header Files ClassWizard Creating a New Class The .clw File The Browser Browser Files Browsing Shortcuts Components and Controls Gallery Summary Chapter 3: The Application Architecture Hierarchy The Application Framework Generating an Application with AppWizard Understanding the Generated Code CDocument and CView CWinApp CWinThread Locating Threads CCmdTarget Commands for Classes About Message Maps How are Message Maps Created? The BEGIN_MESSAGE_MAP() Macro Inside the Message Map Filling the Holes The END_MESSAGE_MAP() Macro Unfolding the Map There's No Sense of Obligation CObject Memory Management Debugging Support Serialization Run-time Type Information Your Own Classes and CObject The Big Picture: A New Life The WinMain() Function MFC's Message Pump Application Termination Summary Chapter 4: The Document/View Architecture Documents and Views Document/View Designs The Different Views Types of Document Document/View Consciousness What are Document Templates? CSingleDocTemplate S
java反编工具java反编工具
DJ Java Decompiler ver. 2.9.9.60 for Windows 95/98/Me/NT/2000 THE PURPOSE: DJ Java Decompiler is decompiler for Java which reconstructs the original source code from the compiled binary CLASS files (applets). DJ Java Decompiler is able to decompile the most complex Java applets and binaries, producing accurate source code. This latest release is able to compile, run, create JAR archives and run applets outside of the context of a Web browser when JDK is installed. INSTALLATION: The program is for Windows 95, Windows 98, Windows Millennium Edition, Windows NT and Windows 2000. Uninstall previos version of DJ (if there are any). Unzip djdec299.zip file into any appropriate directory on your hard drive. This will create file SetupDJ.exe. To install or re-install DJ Java Decompiler run SetupDJ.exe To run DJ Java Decompiler setup you must have MS Windows Installer v.1.00 or above installed. (see your \Windows\SYSTEM folder - MSIEXEC.EXE and MSI.DLL). This files are about 2MB. For this reason I don't include MSIEXEC in setup program. If you have Win9x, you can download MSIEXEC from: http://download.microsoft.com/download/platformsdk/wininst/1.1/W9X/EN-US/InstMsi.exe or from: http://www.microsoft.com/downloads/release.asp?ReleaseID=17343 If you have WinNT, you can download MSIEXEC from: http://download.microsoft.com/download/platformsdk/wininst/1.1/NT4/EN-US/InstMsi.exe or from: http://www.microsoft.com/downloads/release.asp?ReleaseID=17344 And you can learn more about MSIEXEC from: http://msdn.microsoft.com/library/officedev/off2krk/45ct_2.htm or from:http://www.microsoft.com/msdownload/platformsdk/instmsi.htm HOW TO USE DJ JAVA DECOMPILER: To decompile a single JAVA class file you can: 1.Select Open and load your desired class file. 2.Double-click the CLASS file you want to decompile. 3.Drag-and-drop your desired class file on the DJ Java Decompiler window. DJ Java Decompiler supports drag-and-drop functions for OLE. 4.In Windows Explorer Right mouse-button pop-up menu available too. NEW IN THIS VERSION: 1. Some bugs fixed. 2. New decompiler options added. 3. "Refresh" and "Toggle to Sourcecode/Bytecode View" buttons added. 4 Changes in "Recent Files..". 5. New features in "Settings" - "Configurations". Users can change the default font name and size. 6. Changes in DJ icon in the system tray. 7. "Opened Files History" form added. 8. "Processor Usage (%)" information added in "System Information" form. THE STATUS OF DJ JAVA DECOMPILER: DJ Java Decompiler is Freeware. COPYRIGHT INFORMATION: The program uses Jad as its Java decompiling engine. Home Page of Jad-the fast Java Decompiler: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html The decompiled Java code is provided "as is", for your information only, without warranty of any kind, either expressed or implied. You assume all risks concerning the suitability and accuracy of the decompiled code. The decompiled code may contain inaccuracies or errors. CONTACT: Home page: http://members.fortunecity.com/neshkov/dj.html Email: nasko_1999@yahoo.com
Jam.ShellBrowser.8.1.2.2013-03-06
The ShellBrowser component set gives a Delphi programmer easy access to the Windows Shell functionality. The TJamShellList, TJamShellTree and TJamShellCombo components look and behave exactly like the corresponding parts of the Explorer. The non-visible TShellBrowser component provides an easy interface to the Windows Shell API. All components support the properties page, correct icons, OLE drag-and-drop , the Explorer context menu and merge with your Delphi popup menus. A thumbnail component displays the Explorer thumbnail images and the TJamShellNotifier informs you about numerous shell events, like attached drives or changes in folders. Interesting sample projects and a help file with a lot of sample code are included. V8.1.2 Released on 28 Feb 2013 Bugfix - JamFileList: When using the Search method, sorting distinguishes between folders and files. Bugfix - JamShellList: Sorting by recently added shell columns works again. Bugfix - JamShellList: The OnBeforeShellCommand event is triggered when entering a folder by doubleclick or 'Enter' key. Bugfix - JamShellTree: Avoiding exceptions during Drag&Drop (Win XP). Several minor improvements and fixes have been incorporated. V8.1.1 Released on 11 Feb 2013 ShellBrowser V8.1.1 supports C++ Builder XE3 64bit. TJamFileList: Reviewed and optimized the sorting process. TJamFileList: Reviewed and optimized the search functionality. TJamFileList: Property 'ShowContextMenuOnTop' is now available. TJamShellList: The sort column is now stored when changing the folder. Please note: It is only stored for the SpecialFolder, not the specific file system folder. Bugfix - TJamShellList, TJamFileList: The creation and last modified date columns now display the local date-time information instead of UTC date-time. Bugfix - TJamShellList, TJamFileList: The function 'GetVisibleColumns' no longer returns the hidden columns. Bugfix - TJamShellList, TJamShellTree, TJamShellCombo: The icon's background is now correctly painted in the b
SQLMemTable for Delphi / C++ Builder
SQLMemTable for Delphi / C++ Builder: README============================================Please read this file carefully (especially the INSTALLATION chapter) before installing the program to your computer.Contents-------- Program information Company information Description Specification Features and Benefits Installation Purchasing / Registration Copyright and licenses Warranty and guarantee Technical support Important note Other products recommended to useProgram information-------------------Program Name: SQLMemTableLicense Types: Personal (for personal use, without source code) Com (for 1 developer, without source code) Pro (for 1 developer, with source code) Team4 (for 4 developers, with source code) Team8 (for 8 developers, with source code) Enterprise (Enterprise License - for entire company, with source code)Program Version: 1.00Program Release Date: 07/15/2003Program Purpose: SQLMemTable is a compact, fast and powerful in-memory table with SQL support. Target Environment: Delphi 4, 5, 6, 7 and C++ Builder 4, 5, 6.Company information-------------------Company Name: AidAim SoftwareContact E-mail Address: support@aidaim.comContact WWW URL: http://www.aidaim.comDescription-----------SQLMemTable is a compact in-memory table with SQL support for Delphi and C++ Builder. SQLMemTable does not require BDE and provides all the TTable‘s functionssuch as Master/Detail relationship, Filtering, Searching, Sorting, Key, Range, BLOB fields, and has some advanced features such as BLOB data compression, multi-indexes and table restructuring, shareable in memory capabilities. It is fully compatible with all standard DB controls, supports calculated and lookup fields as well as internationalization/localization and Unicode, provides data importing from and exporting to any dataset, includes SQLConsole utility with source code, comprehensive help and demos.SQLMemTable provides the following services: - SQL support - Master / detail relationship - Creating, renaming, emptying, deleting and restructuring tables - Creating, editing, deleting, navigating and searching for records - Creating and deleting multiple indexes - Calculated and lookup fields - Filtering support - Using BLOB fields with data compression ability - Importing from and exporting to any dataset in fast and easy way - Internationalization/Localization and Unicode supportSQLMemTable does not require BDE or any external drivers and has small footprint. Its search performance is excellent and data access speed is extremely fast.Specification-------------Data types: ftAutoInc, ftInteger, ftSmallInt, ftFloat, ftDateTime, ftDate, ftTime, ftBLOB, ftMemo, ftGraphic, ftString (any fixed length string), ftCurrency, ftWord, ftBoolean, ftLargeInt, ftFmtMemo, ftBytes, ftWideString.Advanced data types: aftExtended, aftWideMemoMaximum records quantity: up to 2^31 (over 2 billions). Maximum fields per table: 2^31 (over 2 billions). Maximum indexes per table: 2^31 (over 2 billions). Maximum index fields per index: 2^31 (over 2 billions). Maximum field name‘s length: 255 characters.Maximum index name‘s length: 255 characters.BLOB fields block size: > 1 byte, default 100 Kb. BLOB compression: ZLib, BZip, PPM Search operators: <,>,=,<>,<=,>=, like, not like, is null, is not null, and, or, not, (). Features and Benefits---------------------Compactness. - Short compiled code with approximate size 300 Kb, no external drivers (such as BDE) required. - Small memory consumption by SQLMemTable database engine. - Fast BLOB data compression. Your large data fields will need less memory. SQLMemTable can compress data on the fly. The compression routines used in the SQLMemTable are much faster than most of popular archivers like PKZip, WinRar, Arj. High performance. - Fast search by B-tree indexes. At the moment SQLMemTable is one of the fastest existing in-memory tables for Delphi and C++ Builder. - High-speed memory operations performance is achieved by means of using specially optimized memory manager and tuned algorithms. - Quick operations with strings. SQLMemTable compares strings up to 3 times faster than standard Delphi string routines. High performance is achieved by using a special library written in Assembler and an advanced sorting algorithm. - Advanced SQL optimizer often makes query execution several times faster by choosing the best execution plans. Functionality. - A subset of SQL‘92 including DDL operators is supported by TSQLMemQuery component. With SQLMemTable you can create SQL scripts for creating tables, inserting, editing and deleting records, retrieving data by SELECT command. - Advanced search engine. SQLMemTable supports ‘LIKE‘ operator with wildcards ‘%‘ and ‘_‘, as well as ‘IS NULL‘ and ‘IS NOT NULL‘ in filters and queries. - Full multiple index support, i.e. numerous fields in a table may comprise an index. SQLMemTable provides descending and ascending indexes, case-sensitive and insensitive indexes for string fields. - Shareable in-memory tables. SQLMemTable supports simultaneous access to a table by multiple TSQLMemTable components within a single application. - Default values support. - Record-level constraints, i.e. constraints that must be met when editing the data. Compatibility. - SQLMemTable supports most of TTable field data types, including BLOB fields, moreover it allows to create string and wide string fields of any fixed length. - SQLMemTable is fully compatible with standard DB-aware visual controls such as QuickReport, DBGrid, DBNavigator, DBImage, DBMemo, DBRichEdit, as well as with third party vendor‘s products supporting TDataset descendant components - FastReport, DBFlyTreeView and others. - Calculated and lookup fields can be used in the same way as TTable. - Most of TTable functions are supported including Key and Range methods. Convenience. - Table restructuring is being performed in the easiest way keeping all the existing data. - Data importing from and exporting to any dataset is supported. SQLMemTable provides you with the simplest way to import and export tables using ImportTable and ExportTable methods. - Internationalization / localization support. All text search and sorting functions use current system locale, so localizing your program with SQLMemTable is a very simple task. - Unicode support. All the text operations work with multi-byte encoding using ftWideString. - Comprehensive help. SQLMemTable comes with full documentation presented in SQLMemTable Developer‘s Guide and SQLMemTable Reference. Installation------------1) Make sure that all copies of Delphi (or C++ Builder) are currently closed and not running on the target system. Also, if you are replacing an existing version of SQLMemTable, please remove all files and the package of the prior version before running the new setup program.2) Unpack zip archive containing SQLMemTable into any directory. 3) Run the INSTALL.EXE from this directory.4) Follow on-screen instructions of step-by-step setup wizard to install SQLMemTable.5) If after the installation SQLMemTable components don‘t appear in Components Palette of the IDE, please follow the next instructions: * From the IDE, select ‘Component | Install Packages...‘. * Click the ‘Add‘ button. * In the ..SQLMemTableLibDelphi# (or ..SQLMemTableLibC++ Builder#) directory, select the dclSQLMemTableD#.BPL (or dclSQLMemTableB#.BPL) file. * Click the ‘OK‘ button to close the dialog. * Finally, select ‘Tools | Environment Options‘ from the main menu. From this dialog, select the ‘Library‘ tab and insure that the ..SQLMemTableLibDelphi# (or ..SQLMemTableLibC++ Builder#) directory is included in the ‘Library Path‘ line.Purchasing / Registration-------------------------Visit our site http://www.aidaim.com to purchase or register the product.Copyright and license---------------------See "license.txt" file.Warranty and guarantee----------------------See "license.txt" file.Technical support-----------------Before you contact us, please do the following: - Make sure you have performed all the required steps correctly. - Look at the Help files and Demos: it may already contain an answer to your question. A lot of people ask us something like "how do I:", though the complete information is there. - Visit our Internet site at http://www.aidaim.com. It‘s a good chance that you‘ll find the newer version of our product there.If the problem persists, please, inform us about the following: - SQLMemTable version. - Where did you obtain SQLMemTable (http or ftp site). - Compiler information: Delphi or C++ Builder, Version, Edition, Service Pack - Environmental information: your OS and Service Pack - Description of your problem (as much information as possible to retrieve the problem). - Attach a test project where the problem could be reproduced (it helps us to solve your issue as soon as possible)Typically AidAim Software Support Team answer messages in 24 hours, but depending on singularity and difficulty of your question it may take a bit longer.Should you have any ideas on improving the existing functions of this product after you have downloaded and used it, be easy to e-mail us. All registered users who buy this product may also send their offers to add new possibilities and/or to change the product‘s functions.We consider any ideas and we may take them into account while creating new versions of our products.Other products AidAim Software recommended-------------------------------------------All the products in this chapter are fully compatible with SQLMemTable and recommended to work with our product. AidAim Software had tested all these products released by our partner companies for complete compatibility with SQLMemTable. In its turn, all the partner companies have carried out similar testing of the compatibilityof SQLMemTable with their own products. All the companies whose products present here are technology partners of AidAim Software. It means that both partner companies guarantee the correct joint work of the products. In case of encountering bugs in the time of joint work and owing to it, the partners incur the obligation to resolve such problems for their clients for FREE. FastReport Software -------------------Advanced report generators for Delphi and Kylix.Web Site: http://www.fast-report.comFastReport VCL--------------FastReport VCL is reporting tool component for Borland Delphi 2-6 and Borland C++Builder 3-5. It consists of report engine, designer and preview. Some FastReport possibilities are really unique. The generator allows you to create tables, queries and databases in run-time. Built-in dialog designer allows you creation of dialog forms (they can be used for asking some parameters before printing a report). You also able to use built-in Pascal-like interpreter to do rather complex data processing. In spite of power of FastReport, its code is quite small. Probably FastReport is leader in correlation of functionality/size. The FastReport kernel (without designer) adds to your program the small footprint (less than QR3), but its functionality is like in ReportBuilder‘s one.FastReport CLX edition----------------------FastReport CLX edition is powerfull of FastReport for Borland Delphi 6 and Borland Kylix 1-2 for Linux. It use new CLX-library. Do you want to create reports for Linux as well as for Windows? Use FastReport CLX edition!FastReport VCL 2.3 lite-----------------------FreeWare version of FastReport. Imca Systems DevTeam --------------------Imca Systems DevTeam - Flexible and powerful Delphi/C++ Builder/ActiveX trees, grids and editors.Web Site: http://www.9rays.netDBFlyTreeView Suite-------------------Add grid and treeview functionality with a single component. DBFlyTreeView is a fully customizable, data-bound grid and tree view component that allows you to add huge arrays of nodes. OLE drag-and-drop is supported and the component is customizable at both design-time and runtime. DBFlyTreeView supports custom colors, fonts, and alignment for each cell, and you can even create scrollable background wallpapers without creating huge bitmaps.Included: RapidTree, FlyTreeView, PropertiesTree, DBFlyTreeView controls.DBFlyTreeViewPro Suite----------------------Enable your Delphi and C++Builder applications to display and browse hierarchical, table, and list data. DBFlyTreeViewPro Suite is a set of VCL components that are a direct descendent from FlyTreeViewPro. It supports more than 40 types of in place editors plus your custom format. It is data-aware and allows you to draw any array of cells directly to a printer, Metafile, or Bitmap canvas.Included: RapidTree, IsPlugeditor, FlyTreeViewPro, PropertiesTreePro, DBFlyTreeViewPro controls.


