Q&A

  • 투명하게.....
안녕하세요 ...

이미지그림의 바탕에서 그위에 리스트박스를 올렸습니다...

이미지그림의 어떤부분을 클릭하면

listbox1.visible:=true; 가 됩니다.

이미지 그림위에 그냥 리스트 박스를 올려 놓으니까 보기가 싫더군요

그런데 이부분을 투명하게(이미지 그림의 부분을 리스트박스에 가져옴) 하는방법좀 가르쳐주세요.



button1click(sender:object);

begin

listbox1.visible:=true;

listbox1.items.add('가');

listbox1.items.add('나');

listbox1.items.add('다');

listbox1.items.add('라');

listbox1.canvas.brushcopy(rect(1,1,100,100),image1.picture.bitmap,rect(1,1,100,100));

end;





위의 문장이 확실하지 않지만 이미지그림의 한 부분을 리스트박스에 넣는것은

성공했습니다.

그런데 리스트박스의 내용이 나오지가 않더군요..

그래서 리스트박스를 클릭하면은 리스트박스의 한 부분이 없어지고 힌색바탕의 '가'라는 글자가 나타남니다.



원인은 그림을 합성해야 한다고 하는데 그말이 맞나요?

어떻게 하면 그림이 나오고 리스트박스의 내용도 나오고 리스트박스의 내용을

클릭했을때 그림이 없어지지 않게 하려면 어떻게 해야 하나요?

아직 초보라서 자료를 찾아 봐도 무슨내용인지 하나도 모르겠습니다..

알고 계시는분 제발좀 가르켜 주세요...



1  COMMENTS
  • Profile
    구창민 1999.07.13 08:57
    장철진 께서 말씀하시기를...

    > 안녕하세요 ...

    > 이미지그림의 바탕에서 그위에 리스트박스를 올렸습니다...

    > 이미지그림의 어떤부분을 클릭하면

    > listbox1.visible:=true; 가 됩니다.

    > 이미지 그림위에 그냥 리스트 박스를 올려 놓으니까 보기가 싫더군요

    > 그런데 이부분을 투명하게(이미지 그림의 부분을 리스트박스에 가져옴) 하는방법좀 가르쳐주세요.

    >

    > button1click(sender:object);

    > begin

    > listbox1.visible:=true;

    > listbox1.items.add('가');

    > listbox1.items.add('나');

    > listbox1.items.add('다');

    > listbox1.items.add('라');

    > listbox1.canvas.brushcopy(rect(1,1,100,100),image1.picture.bitmap,rect(1,1,100,100));

    > end;

    >

    >

    > 위의 문장이 확실하지 않지만 이미지그림의 한 부분을 리스트박스에 넣는것은

    > 성공했습니다.

    > 그런데 리스트박스의 내용이 나오지가 않더군요..

    > 그래서 리스트박스를 클릭하면은 리스트박스의 한 부분이 없어지고 힌색바탕의 '가'라는 글자가 나타남니다.

    >

    > 원인은 그림을 합성해야 한다고 하는데 그말이 맞나요?

    > 어떻게 하면 그림이 나오고 리스트박스의 내용도 나오고 리스트박스의 내용을

    > 클릭했을때 그림이 없어지지 않게 하려면 어떻게 해야 하나요?

    > 아직 초보라서 자료를 찾아 봐도 무슨내용인지 하나도 모르겠습니다..

    > 알고 계시는분 제발좀 가르켜 주세요...

    >



    장철진님 안녕하세요?

    아래는 ListBox 배경에 이미지를 삽입하는

    예제입니다. 유즈넷에서 퍼왔습니다.

    참고 하시구, 즐거운 프로그래밍 되세요~



    procedure TForm1.ListBox1DrawItem(Control: TWinControl;

    Index: Integer; Rect: TRect; State: TOwnerDrawState);

    var

    OldStyle : TBrushStyle;

    R : TRect;

    begin

    if Index = ListBox1.Items.Count - 1 then

    begin

    Rect.Bottom := ListBox1.Height;

    end;



    R.Top := (Index * ListBox1.ItemHeight) mod Image1.Picture.Height;

    R.Bottom := R.Top + Rect.Bottom - Rect.Top;

    if R.Bottom > Image1.Picture.Height then

    begin

    R.Top := 0;

    R.Bottom := R.Top + Rect.Bottom - Rect.Top;

    end;

    R.Left := Rect.Left;

    R.Right := Rect.Right;

    ListBox1.Canvas.CopyRect(Rect, Image1.Picture.Bitmap.Canvas, R);



    OldStyle := ListBox1.Canvas.Brush.Style;

    ListBox1.Canvas.Brush.Style := bsClear;

    ListBox1.Canvas.Font.Color := clBlack;

    ListBox1.Canvas.TextOut(Rect.Left + 3, Rect.Top + 1, ListBox1.Items[Index]);

    ListBox1.Canvas.Font.Color := clWhite;

    ListBox1.Canvas.TextOut(Rect.Left + 2, Rect.Top, ListBox1.Items[Index]);

    ListBox1.Canvas.Brush.Style := OldStyle;

    end;

    • sunhee
    • 1999.07.13 20:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.07.13 22:12
      Component에서 Import ActiveX를 하셔서 Microsoft Internet Controls를 임포트하시면 Internet Explorer ...
    • sunhee
      1999.07.13 22:26
      저도 그걸 이용해보려 했는데 팝업메뉴 조절이 안되더군요. 제 나름대로의 팝업메뉴를 만들 수 있는 방법...
    • 유민호
    • 1999.04.30 02:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • saxoji
      1999.05.01 00:41
      2-tier or 3-tier 환경으로의 programing시 자료형 중 variant가 있는 것이 아닌지? 이경우는 olevariant...
    • 신인재
      1999.04.30 20:39
      음냐...글쎄요 이런 문제는 서버쪽을 유심히 살펴 보아야 할꺼 같은데요.. 우선 서버쪽 프로그램을 고친후...
    • 이정욱
      1999.07.13 22:10
      TBitBtn은 색깔을 바꿀 수 없습니다. 색깔을 바꿀수 있는 컴포넌트가 한델(http://www.delphi.co.kr)자...
    • 강신구
    • 1999.04.30 22:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.01 00:00
      음냐 제가 잘못 이해 했군요.... 일딴 Enabled를 True로 주고 Options의 goEditing은 false 로 주세...
    • 1999.07.13 19:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.07.13 23:43
      쩝....감사를 표하시니...좀 송구스럽네요....^^; 음...님께서 말하신 폼을 스트링으로 콜은 하는 것은 ...
    • 강지영
    • 1999.04.30 07:26
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김은석
      1999.07.13 19:29
      Ms-Access DB를 사용하고 있습니다. Table 이름을 Rename 시키고 싶은데...DbiRenameTable은 사용할 수 없...
    • 강지영
      1999.04.30 22:09
      강지영 wrote: > 그리드에 자리수 콤마찍기를 가르쳐주신 함수를 사용해서 적용을 했습니다. > DBgridDra...
    • 글쎄요.
      1999.04.30 23:29
      제가 자세히 안 보고 답변을 했네요. 필드명으로 걸러내실려면 DBgridDrawDataCell event에서가 아니라 DB...
    • 글쎄요.
      1999.04.30 19:26
      강지영 wrote: > 그리드에 자리수 콤마찍기를 가르쳐주신 함수를 사용해서 적용을 했습니다. > DBgridDra...
    • 박수연
    • 1999.07.13 19:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.07.14 13:46
      쩝... 한번 해봤는데 역시 안잡히던군요.. 후후.. 하도 신기해서(?) 될때까지 해봤습니다. 코딩은 안해주...
    • 배재민
    • 1999.04.30 20:55
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이일수
      1999.07.13 19:04
      오늘도 무척이나 덥게 느껴지는군요!!!~ 헥헥~~~ AVI file을 편집하고 싶습니다. 어떤 내용이냐면 AVI...
    • 신인재
      1999.04.30 21:37
      음냐.... 일딴 LAN환경이라면 하드웨어적인 환경은 충족이 된상태이고 마이다스를 이용하신다면 소...
    • 배재민
      1999.04.30 22:00
      Delphi4를 이용하는데 BDE dirIDPROV32.DLL이 존재하지 않습니다. 위의 파일은 어떻게 해야 얻을 수 ...
    • 신인재
      1999.04.30 23:13
      분명히 BDE dirIDPROV32.DLL 은 있어야 합니다. 델파이 CD로 BDE부분만 다시 깔아 보세요... 하이텔 Vtoo...
    • 강신구
    • 1999.04.30 22:35
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김정원
      1999.07.13 18:00
      Dbgrid에서 MultiSelect를 해서 이 그 해당 레코드의 한 필드값을 파라메타로 이용하요 프로그램을 Call 하...
    • 신인재
      1999.05.01 00:00
      음냐 제가 잘못 이해 했군요.... 일딴 Enabled를 True로 주고 Options의 goEditing은 false 로 주세...
    • 궁금이
      1999.07.13 18:05
      김정원 께서 말씀하시기를... > Dbgrid에서 MultiSelect를 해서 이 그 해당 레코드의 한 필드값을 파라메...
    • 김종환
    • 1999.07.13 16:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 노력하는이
      1999.07.13 19:30
      김종환 께서 말씀하시기를... > 책을 보다가, 팁을 보다가, 공개 소스를 보다가 nil 이라는 신택스가 나오...
    • 김종환
    • 1999.07.13 12:03
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.04.30 07:26
      그리드에 자리수 콤마찍기를 가르쳐주신 함수를 사용해서 적용을 했습니다. DBgridDrawDataCell event에 ...
    • 강지영
      1999.04.30 22:09
      강지영 wrote: > 그리드에 자리수 콤마찍기를 가르쳐주신 함수를 사용해서 적용을 했습니다. > DBgridDra...
    • 글쎄요.
      1999.04.30 23:29
      제가 자세히 안 보고 답변을 했네요. 필드명으로 걸러내실려면 DBgridDrawDataCell event에서가 아니라 DB...
    • 글쎄요.
      1999.04.30 19:26
      강지영 wrote: > 그리드에 자리수 콤마찍기를 가르쳐주신 함수를 사용해서 적용을 했습니다. > DBgridDra...
    • 문창완
    • 1999.07.13 08:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델초보
      1999.07.13 19:03
      문창완 께서 말씀하시기를... > MDB를 사용해서 네트웍상에서 트랜잭션처리를 하고싶은데 가능할까요... ...
    • 배재민
    • 1999.04.30 20:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.30 21:37
      음냐.... 일딴 LAN환경이라면 하드웨어적인 환경은 충족이 된상태이고 마이다스를 이용하신다면 소...
    • 배재민
      1999.04.30 22:00
      Delphi4를 이용하는데 BDE dirIDPROV32.DLL이 존재하지 않습니다. 위의 파일은 어떻게 해야 얻을 수 ...
    • 신인재
      1999.04.30 23:13
      분명히 BDE dirIDPROV32.DLL 은 있어야 합니다. 델파이 CD로 BDE부분만 다시 깔아 보세요... 하이텔 Vtoo...
    • 이광연
    • 1999.07.13 07:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 손창근
      1999.07.13 19:00
      안녕하세요.. 오공이 입니다.. 이광연님의 Sql문을 보니 and 부분이 잘못되어 있는거 같네요.. 제 생각으...
    • 김도진
    • 1999.07.13 05:32
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 배재민
      1999.04.30 20:55
      3계층 데이터베이스 응용프로그램을 작성하였습니다. 응용프로그램 서버와 클라이언트를 작성하고 나서 ...
    • 구창민
      1999.07.13 08:53
      김도진 께서 말씀하시기를... > 안녕하세요 정말종은 사이트 같습니다. > NT4.0을 쓰구요 LAN으로컴퓨터3...
    • 신인재
      1999.04.30 21:37
      음냐.... 일딴 LAN환경이라면 하드웨어적인 환경은 충족이 된상태이고 마이다스를 이용하신다면 소...
    • 배재민
      1999.04.30 22:00
      Delphi4를 이용하는데 BDE dirIDPROV32.DLL이 존재하지 않습니다. 위의 파일은 어떻게 해야 얻을 수 ...
    • 신인재
      1999.04.30 23:13
      분명히 BDE dirIDPROV32.DLL 은 있어야 합니다. 델파이 CD로 BDE부분만 다시 깔아 보세요... 하이텔 Vtoo...
    • 박성훈
    • 1999.07.13 05:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.07.13 18:42
      안녕하세요..조복기입니다.. 당연히 마스터 디테일로 나누어서 관리하시는게 편하실겁니다. 관리하기...
    • 배재민
    • 1999.04.30 20:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.30 21:37
      음냐.... 일딴 LAN환경이라면 하드웨어적인 환경은 충족이 된상태이고 마이다스를 이용하신다면 소...
    • 배재민
      1999.04.30 22:00
      Delphi4를 이용하는데 BDE dirIDPROV32.DLL이 존재하지 않습니다. 위의 파일은 어떻게 해야 얻을 수 ...
    • 신인재
      1999.04.30 23:13
      분명히 BDE dirIDPROV32.DLL 은 있어야 합니다. 델파이 CD로 BDE부분만 다시 깔아 보세요... 하이텔 Vtoo...
    • 장철진
    • 1999.07.13 05:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.07.13 08:57
      장철진 께서 말씀하시기를... > 안녕하세요 ... > 이미지그림의 바탕에서 그위에 리스트박스를 올렸습니...
    • 안류진
    • 1999.07.13 04:59
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 유민호
      1999.04.30 02:38
      소켓을 이용하는 프로그램을 만들고 있습니다. 서버프로그램에 있는 한개의 TStoredProcedure를 공통적...
    • 김영대
      1999.07.14 04:41
      안류진 께서 말씀하시기를... > 현재 sysbase를 사용하고 있습니다. > 이미지 field에 파일을 등록하고 ...
    • saxoji
      1999.05.01 00:41
      2-tier or 3-tier 환경으로의 programing시 자료형 중 variant가 있는 것이 아닌지? 이경우는 olevariant...
    • 신인재
      1999.04.30 20:39
      음냐...글쎄요 이런 문제는 서버쪽을 유심히 살펴 보아야 할꺼 같은데요.. 우선 서버쪽 프로그램을 고친후...