|
몰라요 님이 쓰신 글 :
: 런타임시 프린터를 변경하는 방법을 알고 싶습니다.
:
: ShellExecute 로 ms word같은 것을 실행시켜 프린트해야 하는데 프린터를 기본 프린터가 아닌 다른 프린터를
:
: 사용하고 싶습니다.
:
: sample 소스도 부탁드립니다.
:
: 감사합니다.
안녕하세요 만해 입니다.
제가 알바 하면서 만든 델파이 소스 보여 드릴께요 참고 하세요
procedure TPrtSetDialog.CbPrtChange(Sender: TObject);
begin
if CbPrt.ItemIndex >= Printer.PrinterIndex then
Printer.PrinterIndex := CbPrt.ItemIndex;
PrinterData;
end;
procedure TPrtSetDialog.SetDefaultPrinter(NewDefPrinter : string);
var
ResStr : array[0..255] of char;
begin
StrPCopy(ResStr,NewdefPrinter);
WriteProfileString ('windows', 'device', ResStr);
StrCopy (ResStr, 'windows');
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@ResStr));
end;
function TPrtSetDialog.GetDefaultPrinter : string;
var
ResStr : array[0..255] of char;
begin
GetProfileString('Windows','device','',ResStr,255);
Result:=StrPas(ResStr);
end;
Printer 객체를이용하실때는 ItemIndex를 그냥 바꿔 주면 되고요
그외는 SetDefaultPriner함수를 사용해서 바꾸고자 하는 프린터를 설정해 주시면 됩니다.
참고 하세요
|