C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[13886] Re:[질문] 프린트 변경
만해 [greenuri] 1034 읽음    2001-12-24 09:53
몰라요 님이 쓰신 글 :
: 런타임시 프린터를 변경하는 방법을 알고 싶습니다.
:
: 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함수를 사용해서 바꾸고자 하는 프린터를 설정해 주시면 됩니다.

참고 하세요

+ -

관련 글 리스트
13833 [질문] 프린트 변경 몰라요 712 2001/12/21
13886     Re:[질문] 프린트 변경 만해 1034 2001/12/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.