OS2.org Site Index - Feedback - Impressum
Sprachauswahl / Choose your Language News Software Hardware Projekte Forum Tipps Links Verschiedenes
Editorial Diskussion HelpDesk Umfrage
[Forum]
in nach (Erweiterte Suche)
[Forum]
( Archiv ) ( Neues Thema )
30.07.2000
Zur Subklasse WPDataFile (von: GA, 14:50:17) « ^ »
Die Klasse WPDatafile gehört zu den WPS Klassen von OS/2 v4.0
Die Klassenhierarchie baut sich wie folgt auf:

SOMObject ---> WPObject ---> WPFilesysten --->WPDataFile
Die Subklasse WPDataFile hat folgende Subklassen:

WPHtml
WPIcon
WPImageFile ---> WPBitmap
WPMet
WPPif
WPPOinter
WPPProgramFile ---> WPCommandFile
WpUrl

Der interne Aufbau der Subklasse WPdatafile wird in der Datei wpdataf.idl gezeigt:

// Module Header
//
// Module Name: WPDATAF
//
// OS/2 Presentation Manager Workplace class definitions
//
// Copyright (c) International Business Machines Corporation 1991, 1992
//

#ifndef wpdataf_idl
#define wpdataf_idl

#include "wpfsys.idl"
#include <somcls.idl>

interface M_WPDataFile;

interface WPDataFile : WPFileSystem

{


ULONG wpAddBecomePage(in HWND hwndNotebook);

ULONG wpAddFileTypePage(in HWND hwndNotebook);

BOOL wpPrintMetaFile(in PPRINTDEST pPrintDest);

BOOL wpPrintPifFile(in PPRINTDEST pPrintDest);

BOOL wpPrintPrinterSpecificFile(in PPRINTDEST pPrintDest);

BOOL wpPrintUnknownFile(in PPRINTDEST pPrintDest);

WPObject wpQueryAssociatedProgram(in ULONG ulView,
in PULONG pulHowMatched,
in PSZ pszMatchString,
in ULONG cbMatchString,
in PSZ pszDefaultType);
void wpSetAssociatedFileIcon();

HPOINTER wpQueryAssociatedFileIcon();

BOOL wpSetContentsFromPointer(in PVOID pData);

PVOID wpQueryPointerFromContents();

BOOL wpSetContentsFromHandle(in LHANDLE handle);

LHANDLE wpQueryHandleFromContents();

BOOL wpRenderFromClipboard(in ULONG aRenderAs);

VOID SetUpdateIndicator(in ULONG ulBidiSetting,
in BOOL flSet);

BOOL QueryUpdateIndicator(in ULONG ulBidiSetting);

VOID SetNeedSave(in BOOL flNeedSave);

BOOL QueryNeedSave();

VOID wpSetDefaultBidiSettings(in ULONG ulBidiSetting,
in BOOL flSet);

BOOL wpQueryDefaultBidiSettings(in ULONG ulBidiSetting);

VOID wpSetBidiValues(in ULONG ulBidiSetting,
in ULONG ulBidiValue,
in ULONG ulBidiMask);

ULONG wpQueryBidiValues(in ULONG ulBidiSetting);

BOOL wpInsertBidiPage(in HWND hwndNotebook,
in ULONG ulBidiSettings);

BOOL wpSaveBidiState();

BOOL wpRestoreBidiState(in ULONG ulReserved);

void wpInitBidiData();

BOOL wpBidiSetup(in PSZ pszSetupString);

HWND wpSettingsNotebook();

#ifdef __SOMIDL__
implementation {

releaseorder: wpAddFileTypePage,wpPrintMetaFile,wpPrintPifFile,
wpPrintPrinterSpecificFile,wpPrintUnknownFile,wpQueryAssociatedProgram,
wpSetAssociatedFileIcon, wpQueryAssociatedFileIcon,
wpSetContentsFromPointer, wpQueryPointerFromContents,
wpSetContentsFromHandle, wpQueryHandleFromContents,
wpAddBecomePage, wpRenderFromClipboard,
undefined1, wpSetDefaultBidiSettings,wpQueryDefaultBidiSettings,
SetUpdateIndicator,QueryUpdateIndicator,wpSetBidiValues,
wpQueryBidiValues,SetNeedSave,QueryNeedSave,
wpInsertBidiPage, wpSaveBidiState,
wpRestoreBidiState, wpBidiSetup, wpInitBidiData,
hwndSettingsNotebook, wpSettingsNotebook;

externalstem = wpdf;
local;
externalprefix = df_;
majorversion = 1;
minorversion = 2;
filestem = wpdataf;
metaclass = M_WPDataFile;
callstyle = oidl;
dllname = "pmwp.dll";

passthru C_h = " #define MAX_ASSOC_ITEMS 12";

passthru C_h_after =
" #define DebugBox(title, text) WinMessageBox( "
" HWND_DESKTOP, "
" HWND_DESKTOP, "
" (PSZ) text, "
" (PSZ) title, "
" 0, MB_OK | MB_INFORMATION) ";


wpDragOver: override;
wpRestoreState: override;
wpSetDefaultView: override;
wpSetRealName: override;
wpSetType: override;
wpAddSettingsPages: override;
wpAddObjectWindowPage: override;
wpOpen: override;
wpPrintObject: override;
wpModifyMenu: override;
wpMenuItemSelected: override;
wpMenuItemHelpSelected: override;
wpQueryDefaultHelp: override;
wpFormatDragItem: override;
wpConfirmRenameFileWithExt: override;
wpQueryIcon: override;
wpSaveState: override;
wpInitData: override;
wpSetup: override;
wpRender: override;
somDefaultInit: override;
somDestruct: override;

wpConfirmKeepAssoc: override;

};
#endif /* __SOMIDL__ */
};

interface M_WPDataFile : M_WPFileSystem
{

ULONG wpclsAddClipboardAssoc(in ULONG aCBFormat, in PSZ pszClassName);

ULONG wpclsEnumClipboardClasses(in ULONG aCBFormat, in ULONG aPrevious);

#ifdef __SOMIDL__
implementation {
releaseorder: wpclsAddClipboardAssoc,
wpclsEnumClipboardClasses;

externalstem = wpdf;
local;
externalprefix = dfM_;
majorversion = 1;
minorversion = 2;
filestem = wpdataf;
callstyle = oidl;
dllname = "pmwp.dll";

wpclsQueryTitle: override;
wpclsQueryIconData: override;
wpclsQueryStyle: override;
wpclsQueryDefaultView: override;
wpclsQueryDefaultHelp: override;
wpclsInitData: override;
wpclsUnInitData: override;
wpclsQuerySettingsPageSize: override;
};
#endif /* __SOMIDL__ */
};

#endif /* wpdataf_idl */


Das erste Argument von SysSetObjectData muß ein Objektname sein, kein Klassenname!

Im zweiten Argument wird Bezug genommen auf Schlüsselwerte(key names), die sich auf die WPObject-Klasse, als auch auf die Unterklassen wie WPFolder und WPPprogram beziehen können, um ein Beispiel zu nennen.

Die Syntax ist dabei wie folgt:

"key1=value1,key2=value2,value3;"

Somit werden also multiple Schlüsselnamen durch ein Semikolon, multiple Schlüsselwerte durch ein Komma getrennt.

Man geht also so vor, daß man daß Objekt eindeuitig z.B. durch seinen Pfad spzifiziert und dazu im setup string die Parameter angibt, die für die jeweilige Subklasse definiert sind.
[ Leser: 101 ]

Datum Thema
07.01.2017 *

*

Name: * eMail: Benachrichtigung

Mit * markierte Felder müssen ausgefüllt werden !

( Zeige alle Einträge ) ( Zur Startübersicht )
Thema von: Leser Datum Zeit
 Objektklasse mit REXX?
Andreas Schnellbacher13328.07.200018:03
 z.B. mit zwei Funktionen
GA12129.07.200013:51
 Re: z.B. mit zwei Funktionen
Andreas Schnellbacher10729.07.200019:11
 Zur Subklasse WPDataFile
GA10130.07.200014:50
 Ein Beispiel zu SysSetObjectData
GA9730.07.200018:55
 Ändern mit SysCreateObject
GA8931.07.200014:33
 Klasse mit SysPutEA aendern?
Andreas Schnellbacher8401.08.200013:27
 Nochmals: Mit SysCreateObject Paramter ändern!
GA9002.08.200008:40
 Re: Nochmals: Mit SysCreateObject Paramter ändern!
Andreas Schnellbacher7006.08.200015:37
 CLASSDEFAULTVIEW --- ein "neuer" Setup-String
Andreas Schnellbacher7006.08.200015:39
 Weitere Annahmen
GA6706.08.200016:33
 Weiterer Hinweis(I)
GA6306.08.200016:43
 Eine REXX-Routine mit der UDATE-Option mit...
GA6706.08.200016:58
 Protokoll der Routine EADUMP
GA6708.08.200011:35
 Extended Attributes mit REXX lesen und setzen
GA5703.09.200017:47
 Objektklasse A E N D E R N geht nicht mit SysCreateObjekt!
Andreas Schnellbacher5403.09.200019:29
 Re: Objektklasse A E N D E R N geht nicht mit SysCreateObjekt!
Peter W.5211.09.200009:50
 Mit SysCreateObjekt nur bestimmte Argumente..
GA4711.09.200012:24
 Re: Mit SysCreateObjekt nur bestimmte Argumente..
Sebastian Wittmeier4711.09.200017:35
 Re:
Andreas Schnellbacher4113.09.200020:37
 So geht's
Andreas Schnellbacher3406.05.200100:52
 Ja, wunderbar, Andreas!
GA2906.05.200114:38
 Re: Ja, wunderbar, Andreas!
Andreas Schnellbacher2506.05.200118:07


php.net OpenIT © 1998-2017 by WebTeam OS2.org