futterama>> Hvis nu jeg skal bakke hrc lidt op, så synes jeg ikke om dit ekstra spørgsmål. Jeg skal nok besvare det, men ... RTFM !
Read The Fucking Manual !
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/DialogBoxes/DialogBoxReference/DialogBoxStructures/MSGBOXPARAMS.asper linket til manualen, og hvad skriver Microsoft så ?
dwLanguageId
Specifies the language in which to display the text contained in the predefined push buttons. This value must be in the form returned by the MAKELANGID macro.
For a list of supported language identifiers, see Language Identifiers. Note that each localized release of Microsoft Windows 95/98/Me and Microsoft Windows NT typically contains resources only for a limited set of languages. Thus, for example, the U.S. version offers LANG_ENGLISH, the French version offers LANG_FRENCH, the German version offers LANG_GERMAN, and the Japanese version offers LANG_JAPANESE. Each version offers LANG_NEUTRAL. This limits the set of values that can be used with the dwLanguageId parameter. Before specifying a language identifier, you should enumerate the locales that are installed on a system.
Jeg du skulle tilægge dig en vane om læst først i Delphis online hjælp. Hvis det er sådan noget API snask som vi har gang i her så brug MSDN. Den mængde dokumentation, som MSDN hidbringer, for anu at bruge et gammelt ord, er imponerende. Dit spørgsmål beviser du slet ikek har læst det der stod på MDSN.
Nå men tilbage ti ldit spørgsmål :
Jeg kan saktens forstå hvis ikke du lige kan gennemskue det, fordi funktionen findes slet ikke i Delphi, men den er nu nem nok at lave ...
Lad os starte med at se hvad der står i delphis Online hjælp :
#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
Det er C++
<< Betyder Shift Left,som hedder shl i Delphi
| Betyder et or på bitneveau, som bare hedder or i Delphi
Med den viden er det ikke så svært at skrive en MAKELANGID selv :
function MAKELANGID(usPrimaryLanguage, usSubLanguage: WORD): WORD;
begin
Result := (usSubLanguage shl 10) or usPrimaryLanguage;
end;
Og med den viden i hånden burde det her give dig din dialog på Dansk :
dwLanguageId := MAKELANGID(LANG_DANISH, SUBLANG_DEFAULT);
Men indrømmet jeg har ikke testet det, fordi det vil kræve jeg gad starte Delphi op !
Jens B