|
임펠리테리입니다.
간단한 예제를 만들었습니다.
새 프로젝트를 열어서 메인폼에 리스트박스 하나와 버튼 두개를 놓습니다.
그리고 첫번째 버튼의 OnClick 핸들러에 다음과 같이 코딩합니다.
#include <Printers.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListBox1->Items->Assign(Printer()->Printers);
}
두번째 버튼의 OnClick 핸들러는 다음과 같이... (이 부분이 원하시는 부분입니다.)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
HANDLE hPrinter;
if(OpenPrinter(ListBox1->Items->Strings[ListBox1->ItemIndex].c_str(), &hPrinter, NULL) != 0)
{
if(PrinterProperties(Handle, hPrinter)== false)
ShowMessage(SysErrorMessage(GetLastError()));
ClosePrinter(hPrinter);
}
}
아시겠지만, 버튼1을 누르면 현재 시스템에 드라이버가 설치된 모든 프린터들의 이름이 리스트박스에 나열되지요.
그중 하나를 선택하신 후 버튼2를 누르면 프린터 등록정보가 뜰 겁니다.
그럼 이만...
정재룡.구보 님이 쓰신 글 :
: 제가 프린트 대화상자를 컴포넌트로는 힘들어서...
: 직접 만들고 있는데...
:
: 보통 프린트 대화상자 보면
: 콤보박스에 프린트 이름이 나오고 그옆에 버튼이
: 등록정보 버튼인데..
:
: 그 등록정보 버튼을 구현하려고 하는데염...
: API에 보니깐...
:
: BOOL PrinterProperties(
:
: HWND hWnd, // handle of parent window
: HANDLE hPrinter // handle of printer object
: );
:
: 이 함수가 등록정보 대화상자를 열어주는 함수인데...
: 델파이에는...OpenPrinterProperties()가 있는거 같더만...--;
: 빌더에는 없는거 같더군여...
:
: 암튼 위에 함수를 써서 사용하니 계속 대화상자가 오픈이 안되어서..
: 이렇게 질문을 드립니다.
:
: 사용할때..hWnd는 폼의 핸들을 넣었고, hPrinter에는 Printer의..
: 핸들을 넣었습니다...그러면 되어야하는게 아닌가염?..냠...
:
: 답변 부탁드립니다..
:
: 그럼 이만.
|